查看原文
其他

软件应用丨Seaborn简单画图:(二)

向前走别回头 数据Seminar 2021-06-02

版权声明:本文为CSDN博主「向前走别回头」的原创文章合辑,遵循 CC 4.0 BY-SA 版权协议,特此附上原文出处链接及本声明。


原文链接:

https://blog.csdn.net/weixin_39778570/article/details/81146473

https://blog.csdn.net/weixin_39778570/article/details/81147023

https://blog.csdn.net/weixin_39778570/article/details/81147415



柱状图和热力图


import numpy as npimport pandas as pdimport matplotlib.pyplot as pltfrom pandas import Series, DataFrame%matplotlib inlineimport seaborn as sns
左右滑动查看更多
数据在这里复制,sns.load_dataset(‘flights’)
https://github.com/mwaskom/seaborn-data/blob/master/flights.csv
df = pd.read_clipboard()df.head() year month passengers0 1949 January 1121 1949 February 1182 1949 March 1323 1949 April 1294 1949 May 121df.shape(144, 3)# 用透视表转换df = df.pivot(index='month', columns='year',values='passengers')df
year 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960month April 129 135 163 181 235 227 269 313 348 348 396 461August 148 170 199 242 272 293 347 405 467 505 559 606December 118 140 166 194 201 229 278 306 336 337 405 432February 118 126 150 180 196 188 233 277 301 318 342 391January 112 115 145 171 196 204 242 284 315 340 360 417July 148 170 199 230 264 302 364 413 465 491 548 622June 135 149 178 218 243 264 315 374 422 435 472 535March 132 141 178 193 236 235 267 317 356 362 406 419May 121 125 172 183 229 234 270 318 355 363 420 472November 104 114 146 172 180 203 237 271 305 310 362 390October 119 133 162 191 211 229 274 306 347 359 407 461September   136 158 184 209 237 259 312 355 404 404 463 508
# 热力图sns.heatmap(df)<matplotlib.axes._subplots.AxesSubplot at 0x2214cab7e10>
左右滑动查看更多



# 按列的折现图df.plot()
左右滑动查看更多



# annot描述sns.heatmap(df, annot=True)
左右滑动查看更多



# fmt设置显示格式sns.heatmap(df, annot=True, fmt='d')
左右滑动查看更多



s = df.sum()syear1949 15201950 16761951 20421952 23641953 27001954 28671955 34081956 39391957 44211958 45721959 51401960 5714dtype: int64
左右滑动查看更多
# 柱状图sns.barplot(x=s.index, y=s.values)
左右滑动查看更多



s.plot(kind='bar')
左右滑动查看更多




设置图形显示效果


import numpy as npimport pandas as pdimport matplotlib.pyplot as plt%matplotlib inline
左右滑动查看更多
x = np.linspace(0,14,100)y1 = np.sin(x)y2 = np.sin(x+2)*1.25def sinplot(): plt.plot(x,y1) plt.plot(x,y2)sinplot()
左右滑动查看更多



axex_style and set_style

import seaborn as snssns.set()sinplot()
左右滑动查看更多



style = ['white', 'dark', 'whitegrid', 'darkgrid', 'ticks']sns.set_style(style[0])sinplot()
左右滑动查看更多



sns.set_style(style[1])sinplot()
左右滑动查看更多



# 可以通过字典设置风格sns.axes_style(){'axes.axisbelow': True, 'axes.edgecolor': '.15', 'axes.facecolor': 'white', 'axes.grid': False, 'axes.labelcolor': '.15', 'axes.linewidth': 1.25, 'figure.facecolor': 'white', 'font.family': ['sans-serif'], 'font.sans-serif': ['Arial', 'DejaVu Sans', 'Liberation Sans', 'Bitstream Vera Sans', 'sans-serif'], 'grid.color': '.8', 'grid.linestyle': '-', 'image.cmap': 'rocket', 'legend.frameon': False, 'legend.numpoints': 1, 'legend.scatterpoints': 1, 'lines.solid_capstyle': 'round', 'text.color': '.15', 'xtick.color': '.15', 'xtick.direction': 'out', 'xtick.major.size': 6.0, 'xtick.minor.size': 3.0, 'ytick.color': '.15', 'ytick.direction': 'out', 'ytick.major.size': 6.0, 'ytick.minor.size': 3.0}
左右滑动查看更多
# 设为网格线颜色sns.set_style(style[3], {'grid.color':'red'})
左右滑动查看更多



# 清空设置sns.set()
左右滑动查看更多
plotting_context() and set_context()
# 设置图形比例context = ['paper', 'notebook','talk', 'poster']sns.set_context(context[3])sinplot()
左右滑动查看更多



sns.plotting_context()
{'axes.labelsize': 17.6, 'axes.titlesize': 19.200000000000003, 'font.size': 19.200000000000003, 'grid.linewidth': 1.6, 'legend.fontsize': 16.0, 'lines.linewidth': 2.8000000000000003, 'lines.markeredgewidth': 0.0, 'lines.markersize': 11.200000000000001, 'patch.linewidth': 0.48, 'xtick.labelsize': 16.0, 'xtick.major.pad': 11.200000000000001, 'xtick.major.width': 1.6, 'xtick.minor.width': 0.8, 'ytick.labelsize': 16.0, 'ytick.major.pad': 11.200000000000001, 'ytick.major.width': 1.6, 'ytick.minor.width': 0.8}
左右滑动查看更多
# 设置网格线宽度sns.set_context(context[1], rc={'grid.linewidth':3.0})sinplot()
左右滑动查看更多




Seaborn调色功能


官方参考文档:
http://seaborn.pydata.org/tutorial/color_palettes.html
import numpy as npimport pandas as pdimport matplotlib.pyplot as plt%matplotlib inline
左右滑动查看更多
# 绘图,figsize设置大小def sinplot(): x = np.linspace(0,14,100) plt.figure(figsize=(8,6)) for i in range(4): plt.plot(x,np.sin(x+i)*(i+0.75), label='sin(x+%s)*(%s+0.75)' % (i,i)) plt.legend()sinplot()
左右滑动查看更多



# 导入seabornimport seaborn as snssns.set()sinplot()
左右滑动查看更多



# 当前画板sns.color_palette() #RGB列表元组[(0.29803921568627451, 0.44705882352941179, 0.69019607843137254), (0.33333333333333331, 0.6588235294117647, 0.40784313725490196), (0.7686274509803922, 0.30588235294117649, 0.32156862745098042), (0.50588235294117645, 0.44705882352941179, 0.69803921568627447), (0.80000000000000004, 0.72549019607843135, 0.45490196078431372), (0.39215686274509803, 0.70980392156862748, 0.80392156862745101)] # 显示画板 sns.palplot(sns.color_palette())
左右滑动查看更多



# 自带风格pal_style = ['deep', 'muted', 'pastel', 'bright', 'dark','colorblind']sns.palplot(sns.color_palette('dark'))
左右滑动查看更多



# 设置画板sns.set_palette(sns.color_palette('dark'))sinplot()
左右滑动查看更多



# 清空画板sns.set()sinplot()
左右滑动查看更多




# 局部使用画板with语句,外部还是系统画板with sns.color_palette('dark'): sinplot()
左右滑动查看更多



# 外部没变sinplot()
左右滑动查看更多



# 自定义画板pall = sns.color_palette([(0.1,0.2,0.3),(0.9,0.3,0.6),(0.3,0.3,0.3)])sns.palplot(pall)
左右滑动查看更多




# 自动生成画板sc = sns.color_palette('hls', 10)sns.palplot(sc)sns.set_palette(sc)sinplot()
左右滑动查看更多





·END·


点击阅读原文,进入新型农业经营主体大数据库



点击搜索你感兴趣的内容吧


往期推荐

软件应用丨Seaborn简单画图:(一)

数据资源丨Q1免费资源合辑,你想要的没准在这里(文末有福利)

软件应用丨Matplotlib简单画图:(二)

号外丨2020年度农民专业合作社“兴农”会员名单大公布

软件应用丨Matplotlib简单画图:(一)

数据资源丨医疗器械产业专题数据库(文末有免费数据资源)

免费数据资源丨应急产业专题数据库(文末有福利)

终于等到你丨企研大数据资源预览系统上线啦!

点击登录丨新型农业经营主体大数据库展示平台正式上线啦!





数据Seminar




这里是大数据、分析技术与学术研究的三叉路口





出处:CSDN作者:向前走别回头推荐:青酱排版编辑:青酱 





    欢迎扫描👇二维码添加关注    


点击阅读原文,获得更多精彩内容!

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存