python怎么用matplotlib生成图表,python 绘图库Matplotlib
这篇文章主要介绍了大蟒利用绘制精美的图表画出漂亮的分析图表,文章首先引入数据集展开详情,需要的朋友可以参考一下
目录
前言数据集引入折线图饼图散点图面积图直方图条形图
前言
作为一名优秀的分析师,还是得学会一些让图表漂亮的技巧,这样子拿出去才更加有面子哈哈。好了,今天的锦囊就是介绍一下各种常见的图表,可以怎么来画吧。
数据集引入
首先引入数据集,我们还用一样的数据集吧,分别是薪金_范围_按职务_分类以及全球陆地温度ByCity。(具体数据集可以后台回复情节获取)
# 导入一些常用包
进口熊猫作为螺纹中径
将数组作为铭牌导入
将海生的作为社交网站(Social Network Site的缩写)导入
%matplotlib内联
将matplotlib.pyplot作为血小板计数导入
将绘制精美的图表作为数学编程语言(Mathematical Programming Language)导入
plt.style.use(fivethirtyeight )
#解决中文显示问题,Mac
从matplotlib.font_manager导入字体属性
# 查看本机血小板计数的有效风格
打印(打印样式可用)
# 根据本机有空的的风格,选择其中一个,因为之前知道ggplot很好看,所以我选择了它
mpl.style.use([ggplot])
# [_classic_test , bmh , classic , dark_background , fast , fivethirtyeight , ggplot ,灰度, seaborn-bright , seaborn-colorblind , seaborn-darkgrid , seaborn-deep , seaborn-muted , seaborn-notebook , seaborn-papel , seaborn-ticks , seaborn-white , seaborn-whitegrid , seaborn , Solarize_Light2]
# 数据集导入
# 引入第数字一(一)个数据集薪金_范围_按职务_分类
salary_ranges=pd.read_csv(./data/Salary _ Ranges _ by _ Job _ class ification。CSV’)
# 引入第注射毒品个数据集全球气温城市
climate=pd.read_csv( ./data/globallandtemperaturesbycity。CSV’)
# 移除缺失值
climate.dropna(axis=0,inplace=True)
# 只看中国
# 日期转换,将震颤性精神错乱震颤性谵妄的缩写)转换为日期,取年份,注意地图的用法
气候[dt]=pd.to_datetime(气候[dt])
气候[年份]=气候[dt].地图(值:值。年)
气候_ sub _ China=气候。loc[气候[国家]=中国]
气候_亚_中国[世纪]=climate_sub_china[年]。地图(x : int(x/100 1))
climate.head()
折线图
折线图是比较简单的图表了,也没有什么好优化的,颜色看起来顺眼就好了。下面是从网上找到了颜色表,可以从中挑选~
# 选择上海部分天
气数据
df1 = climate.loc[(climate[Country]==China)&(climate[City]==Shanghai)&(climate[dt]>=2010-01-01)]\
.loc[:,[dt,AverageTemperature]]\
.set_index(dt)
df1.head()
# 折线图df1.plot(colors=[lime])
plt.title(AverageTemperature Of ShangHai)
plt.ylabel(Number of immigrants)
plt.xlabel(Years)
plt.show()
上面这是单条折线图,多条折线图也是可以画的,只需要多增加几列。
# 多条折线图df1 = climate.loc[(climate[Country]==China)&(climate[City]==Shanghai)&(climate[dt]>=2010-01-01)]\
.loc[:,[dt,AverageTemperature]]\
.rename(columns={AverageTemperature:SH})
df2 = climate.loc[(climate[Country]==China)&(climate[City]==Tianjin)&(climate[dt]>=2010-01-01)]\
.loc[:,[dt,AverageTemperature]]\
.rename(columns={AverageTemperature:TJ})
df3 = climate.loc[(climate[Country]==China)&(climate[City]==Shenyang)&(climate[dt]>=2010-01-01)]\
.loc[:,[dt,AverageTemperature]]\
.rename(columns={AverageTemperature:SY})
# 合并
df123 = df1.merge(df2, how=inner, on=[dt])\
.merge(df3, how=inner, on=[dt])\
.set_index([dt])
df123.head()
# 多条折线图df123.plot()
plt.title(AverageTemperature Of 3 City)
plt.ylabel(Number of immigrants)
plt.xlabel(Years)
plt.show()
饼图
接下来是画饼图,我们可以优化的点多了一些,比如说从饼块的分离程度,我们先画一个低配版的饼图。
df1 = salary_ranges.groupby(SetID, axis=0).sum()
# “低配版”饼图df1[Step].plot(kind=pie, figsize=(7,7),
autopct=%1.1f%%,
shadow=True)
plt.axis(equal)
plt.show()
# “高配版”饼图colors = [lightgreen, lightblue] #控制饼图颜色 [lightgreen, lightblue, pink, purple, grey, gold]
explode=[0, 0.2] #控制饼图分离状态,越大越分离
df1[Step].plot(kind=pie, figsize=(7, 7),
autopct = %1.1f%%, startangle=90,
shadow=True, labels=None, pctdistance=1.12, colors=colors, explode = explode)
plt.axis(equal)
plt.legend(labels=df1.index, loc=upper right, fontsize=14)
plt.show()
散点图
散点图可以优化的地方比较少了,ggplot2的配色都蛮好看的,正所谓style选的好,省很多功夫!
# 选择上海部分天气数据df1 = climate.loc[(climate[Country]==China)&(climate[City]==Shanghai)&(climate[dt]>=2010-01-01)]\
.loc[:,[dt,AverageTemperature]]\
.rename(columns={AverageTemperature:SH})
df2 = climate.loc[(climate[Country]==China)&(climate[City]==Shenyang)&(climate[dt]>=2010-01-01)]\
.loc[:,[dt,AverageTemperature]]\
.rename(columns={AverageTemperature:SY})
# 合并
df12 = df1.merge(df2, how=inner, on=[dt])
df12.head()
# 散点图df12.plot(kind=scatter, x=SH, y=SY, figsize=(10, 6), color=darkred)
plt.title(Average Temperature Between ShangHai - ShenYang)
plt.xlabel(ShangHai)
plt.ylabel(ShenYang)
plt.show()
面积图
# 多条折线图df1 = climate.loc[(climate[Country]==China)&(climate[City]==Shanghai)&(climate[dt]>=2010-01-01)]\
.loc[:,[dt,AverageTemperature]]\
.rename(columns={AverageTemperature:SH})
df2 = climate.loc[(climate[Country]==China)&(climate[City]==Tianjin)&(climate[dt]>=2010-01-01)]\
.loc[:,[dt,AverageTemperature]]\
.rename(columns={AverageTemperature:TJ})
df3 = climate.loc[(climate[Country]==China)&(climate[City]==Shenyang)&(climate[dt]>=2010-01-01)]\
.loc[:,[dt,AverageTemperature]]\
.rename(columns={AverageTemperature:SY})
# 合并
df123 = df1.merge(df2, how=inner, on=[dt])\
.merge(df3, how=inner, on=[dt])\
.set_index([dt])
df123.head()
colors = [red, pink, blue] #控制饼图颜色 [lightgreen, lightblue, pink, purple, grey, gold]df123.plot(kind=area, stacked=False,
figsize=(20, 10), colors=colors)
plt.title(AverageTemperature Of 3 City)
plt.ylabel(AverageTemperature)
plt.xlabel(Years)
plt.show()
直方图
# 选择上海部分天气数据df = climate.loc[(climate[Country]==China)&(climate[City]==Shanghai)&(climate[dt]>=2010-01-01)]\
.loc[:,[dt,AverageTemperature]]\
.set_index(dt)
df.head()
# 最简单的直方图df[AverageTemperature].plot(kind=hist, figsize=(8,5), colors=[grey])
plt.title(ShangHai AverageTemperature Of 2010-2013) # add a title to the histogram
plt.ylabel(Number of month) # add y-label
plt.xlabel(AverageTemperature) # add x-label
plt.show()
条形图
# 选择上海部分天气数据df = climate.loc[(climate[Country]==China)&(climate[City]==Shanghai)&(climate[dt]>=2010-01-01)]\
.loc[:,[dt,AverageTemperature]]\
.set_index(dt)
df.head()
df.plot(kind=bar, figsize = (10, 6))plt.xlabel(Month)
plt.ylabel(AverageTemperature)
plt.title(AverageTemperature of shanghai)
plt.show()
df.plot(kind=barh, figsize=(12, 16), color=steelblue)plt.xlabel(AverageTemperature)
plt.ylabel(Month)
plt.title(AverageTemperature of shanghai)
plt.show()
到此这篇关于Python利用matplotlib画出漂亮的分析图表的文章就介绍到这了,更多相关Python 绘制分析图表内容请搜索盛行IT软件开发工作室以前的文章或继续浏览下面的相关文章希望大家以后多多支持盛行IT软件开发工作室!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。