《Python数据可视化之美》专业图表绘制指南-读书笔记

笔记 专栏收录该内容
3 篇文章 0 订阅
#数组的创建
a=np.arange(6).reshaper(3,2)

#单条件过滤:
a[a[:,1]>2,]

#多条件过滤:
a[(a[:,1]>2)&(a[:,1]<4,]

#数组维度的改变:
a.reshape(2,3)

#数组的转置:
a.T
np.transpose(a)

#数组的平迭展开:
a.flatten()      #返回拷贝,不影响原矩阵
a.ravel()         #返回视图,影响原矩阵

#排序:
np.sort(a)
a.sort()
np.argsort(a)            #数组排序后的下标
a[np.argsort(-a)]      #数组的降序
b.sort(axis=0)           #axis=0为按列,axis=1为按行

numpy数组的组合分为:水平组合(hstack)、垂直组合(vstack)、深度组合(dstack)、列组合(colume_stack)、行组合(row_stack)等。

#水平组合:
np.hstack((a,b))
np.concatenate((a,b),axis=1)
np.append(a,b,axis=1)
#垂直组合:
np.vstack((b,c))
np.concatenate((b,c),axis=0)
np.append(b,c,axis=0)

np.mean         
np.average
np.var
np.std
np.min
np.max
np.argmin         #最小值的索引
np.argmax
np.ptp               #计算全距,最大值与最小值的差
np.percentile
np.median
np.sum

#数据的多重索引:loc
#空数据的创建:
df_empty = pd.DataFrame(columns=[‘x’,’y’,’z’])

#分布型数据创建:
a=[‘A’,’B’,’C’]
b=[5,7,9]
X,Y=np.meshgrid(a,b)
df_grid = pd.DataFrame({‘x’:X.flatten(),’y’:Y.flatten()})

数据可视化的作用:
1.真实、准确、全面地展示数据
2.揭示数据的本质、关系、规律

南丁格尔玫瑰,也称为鸡冠花(coxcomb)图。python有matplotlib、seaborn、plotnine等静态图表绘制包。
matplotlib组成元素包括:图形(figure)、坐标图形(axes)、图名(title)、图例(legend)、主要刻度(major tick)、次要刻度(minor tick)、主要刻度标签(major tick label)、次要刻度标签(minor tick label)、Y轴名(Y axis label)、X轴名(X axis label)、边框图(line)、数据标记(markers)、网格(grid)等。

函数核心参数说明功能
figure()figsize图表尺寸、dpi分辨率设置图表大小和分辨率
title()str图名、fontdict-文本格式包括字体大小、类型等设置标题
xlabel()、ylabel()xlabel ylabel设置X轴Y轴的标题
axis() xlim() ylim()xmin、xmax或ymin、ymax设置X轴和Y轴的范围
xticks() yticks()ticks-刻度数值、labels-刻度名称、fontdict设置刻度
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd

plt.rcParams['font.sans-serif'] = 'Arial'
#plt.rcParams['font.sans-serif'] = 'SimHei' #汉字显示设定 
plt.rcParams['axes.unicode_minus']=False
plt.rcParams['axes.facecolor']='#CFDBE7'
plt.rcParams['savefig.facecolor']='#CFDBE7'
plt.rc('axes',axisbelow=True)

df = pd.read_excel(r'多数据系列柱形图.xlsx',sheet_name = '原始数据')
x_label = np.array(df['Quarter'])
x = np.arange(len(x_label))
y1 = np.array(df['TOTAL'])
y2 = np.array(df['INFO-Processing'])

width = 0.35
fig = plt.figure(figsize = (5,4.5),dpi=100,facecolor='#CFDBE7')
plt.bar(x,y1,width=width,color='#01516C',label='TOTAL')
plt.bar(x+width,y2,width = width,color='#01A4DC',label='INFO-Processing')
plt.xticks(x+width/2,x_label,size =12)
plt.yticks(size=12)
plt.grid(axis='y',c='w',linewidth=1.2)
plt.legend(loc=(0,1.02),ncol=2,frameon=False)
ax = plt.gca()
ax.spines['top'].set_color('none')
ax.spines['right'].set_color('none')
ax.spines['left'].set_color('none')
ax.yaxis.set_ticks_position('right')
plt.text(0.,1.25,s='WHERE CAPITAL SPENDING\nIS STILL HOT',transform=ax.transAxes,weight='bold',size=20)
plt.text(0.,1.12,s='Column charts are used to compare values\nacross categories by using vertical bars.',transform =ax.transAxes,weight='light',size =15)
plt.text(0.,-0.15,s='Sources:http://zhuanlan/zhihu.com/apeter-zhang-jie',transform=ax.transAxes,weight='light',size=10)
plt.savefig('商业图表_经济学人1.pdf',bbox_inches='tight',pad_inches=0.3)
plt.show()

程序结果

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

打赏
文章很值,打赏犒劳作者一下
相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页

打赏

羊小球

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值