簡體   English   中英

我的圖像將打印為PNG,但沒有任何顯示,運行plot.show時它確實顯示了圖像

[英]My image will print to PNG but nothing is showing, it does show the image when plot.show is run

我的代碼如下。 我正在使用MatPlotLib創建圖像,但是該圖像未在png中呈現。 有人,請修復我的代碼,使其能夠呈現。

import pandas as pd
import matplotlib.pyplot as plt
import numpy as np

#Sets the size of the chart
from pylab import rcParams
rcParams['figure.figsize'] = 7, 2

#AverageAnnualMedicalCostPerEE = "{}".format('jpg')
#print AverageAnnualMedicalCostPerEE
#Creates the dataframe
raw_data = {'plan_type': ['Total Annual Cost, Single', 'Total Annual Cost,     
Family'],
        'Your Plan':     [6000, 3000],
        'Benchmark':     [4800, 1600],
        'Region':     [1800, 2800],
        'Industry':      [4900, 1300],
        'Size':      [5700, 1600],
    }

data = ['Your Plan','Benchmark','Region','Industry','Size']

df = pd.DataFrame(raw_data,
              columns = ['plan_type','Your Plan', 'Benchmark', 'Region',     
'Industry', 'Size'])

#Plots the bars, adding desired colors
ax = df.plot.bar(rot=0, color=['#ffc000',"#305496", '#8ea9db', '#b4c6e7',     
'#D9E1F2'],
             width = 0.8 )

#Adds data labels to top of bars
for p in ax.patches[0:]:
   h = p.get_height()
    x = p.get_x()+p.get_width()/2.
    if h != 0:
        ax.annotate( '$' + "%g" % p.get_height(), xy=(x,h), xytext=(0,4), 
        rotation=0,
               textcoords="offset points", ha="center", va="bottom",     
              fontsize='small', color='grey')

# Remove Bordering Frame
ax.spines['top'].set_visible(False)
ax.spines['right'].set_visible(False)
ax.spines['left'].set_visible(False)
ax.spines['bottom'].set_color('#B4C7E7')
ax.get_xaxis().tick_bottom()
ax.get_yaxis().tick_left()

# Remove Y-axis Labels
ax.axes.get_yaxis().set_visible(False)

#Sets x-axis limits and margins
ax.set_xlim(-0.5, +1.5)
ax.margins(y=0)

# Set Y-Axis Ticks to the Right
ax.yaxis.tick_right()

# Set the Y Axis Limits
ax.set_ylim(0,(df[['Your     
Plan','Benchmark','Region','Industry','Size']].max(axis=1).max(axis=0)*1.5))
ax.margins(y=0)

#Adds legend to the top of the page
ax.legend(ncol=len(df.columns), loc="Lower Left", bbox_to_anchor=    
(0,1.02,1,0.08),
      borderaxespad=0, mode="expand",frameon=False, fontsize='small')

#Add labels to the x-axis
ax.set_xticklabels(df["plan_type"], fontsize='small')
ax.xaxis.set_ticks_position('none')
#shows the plot and prints it to
plt.show()
plt.savefig('AverageAnnualMedicalCostPerEE.png')

因此,我再次希望獲得一個png,然后可以將其導入表中並添加到我的故事中。 后者很容易,除了圖像渲染問題。 請讓我知道您是否可以解決此問題,可能是快速解決方案。

我認為您應該更改保存圖像並顯示它的順序,因為該數字將在plt.show()之后重置。 因此,您應該能夠通過從代碼中刪除plt.show()命令或切換plt.savefig(...)plt.show()來解決此問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM