在jupyter_notebook中画图不清晰
加入如下代码运行一次即可:
%config InlineBackend.figure_format = ‘svg’
在jupyter_notebook中画图不显示
不加plt.show() ,运行下面的也可以
%matplotlib inline
中文无法显示问题
方法一:
import matplotlib.font_manager as fm
myfont = fm.FontProperties(fname='C:/Windows/Fonts/simsun.ttc') # simsun.ttc:宋体 simhei.ttf为黑体
plt.bar(x, y, color='black')
plt.xticks(x, fontproperties=myfont, rotation=270)
plt.show()
方法二:(推荐)
在Lib文件夹下生成ch.py文件,该文件中代码如下:
#-*-coding:utf-8-*-
#文件名: ch.py
def set_ch():from pylab import mplmpl.rcParams['font.sans-serif'] = ['FangSong'] # 指定默认字体,黑体是SimHei,查看属性中的英文名称与,Windows中显示的名称不一样mpl.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题,或者转换负号为字符串
在引用时的代码如下:
import ch
ch.set_ch()
下面只要是中文前面加u,如 plt.title(u'标题')
图例显示不全
如果将图例放在外面,有时候在保存图片的时候显示不完整:
解决方法,保存前设置:
plt.tight_layout()
如果还是不行可以在保存图片时设置
plt.savefig(‘a.png’,dpi=200,bbox_inches=‘tight’)
显示颜色条
散点图、热力图的颜色条
plt.colorbar()
添加次坐标轴+合并图例
x = [u'1月',u'2月',u'3月',u'4月',u'5月',u'6月',u'7月',u'8月',u'9月',u'10月',u'11月',u'12月']
y1 = [20,17,24,36,49,53,64,69,50,38,20,16]
y2 = [100,176,235,250,156,240,190,167,320,200,100,250]fig = plt.figure()
a1 = plt.plot(x,y1,label=u'冰红茶')
# 添加次坐标轴
ax2 = plt.twinx()
a2 = ax2.plot(x, y2, label=u'冰咖啡',color='#663300')
# 合并图例:方法1
#fig.legend(bbox_to_anchor=(0.9,0.87))
# 合并图例:方法2
a = a1 + a2
labels = [i.get_label() for i in a]
plt.legend(a, labels)
方法1不需要给画图语句设置句柄,只需最后fig.lengnd(),但是需要调整图例的位置
方法2需要句柄,并将句柄和对应的标签综合起来