赞
踩
前言:针对阿里天池赛的世界杯可视化,表的内容我不赘述了,既然能查到这里肯定知道是什么,我就讲一下第一位大佬的代码,反正我是啥也不懂,我直接抄他的进行复现
%matplotlib inline
import numpy as np
import matplotlib.pyplot as plt
from scipy.special import jn
from IPython.display import display, clear_output
import time
import pandas as pd
import seaborn as sns
这些都是要用的三方库
我自己就是个小白,所以我就按照小白的视角来讲
hist_worldcup=pd.read_csv('downloads/WorldCupsSummary.csv')
font = {
'weight': 'bold',
'size': '20'
}
plt.rc('font', **font)
plt.title('Attendance Number')
这个读取文件+布局设置(不设置也可以,个人认为自己画图不设置完全不影响,不过得知道有这个东西,我把这个放在最后面讲)+标题
fig, ax= plt.subplots(1,2,figsize=(14,10))
这玩意我单独讲,因为我个人感觉很重要,不要你觉得只要我觉得,简单来讲就是1,2代表了,一行两列的表,1*2,之前的博客中提到,然后就是figsize的设置这个很好理解,就是一个对画布长宽的设置
plt.title('Attendance Number')
# hist_worldcup.plot.scatter(x='Attendance',y='Year',ax=ax,zorder=2,s=100) #使用 Pandas 的 plot 方法
ax.scatter(hist_worldcup['Attendance'],hist_worldcup['Year']) #使用 Matplotlib Axes 对象的方法
#
我们在这里可以看到有两个画图的方法,都在注释里面了,然后我们讲一下为什么先绘制图,在进行配置参数,我们在绘图的时候,反正我自己一直以为都是先配置好参数,用什么颜色的线,各种乱七八糟的都是配置完,然后绘图的时候就用起来,但不是这样的,我们在Python中就是要先把图画出来(我们是看不到的,但是机器认为他看到了),解释器就在进行参数的配置,对原来的图进行修改,如果不想看这些文字,那就记住,先画图,在配置。
# ax.spines['right'].set_visible(False) # ax.spines['top'].set_visible(False) # ax.spines['left'].set_visible(False) # ax.spines['bottom'].set_visible(False) #上下左右的边框是否可见 ax.set_ylabel(None) ax.set_xlabel(None) #xy轴的标签,想添加的自己写字符串上去就行 ax.grid(visible=False) #这个图有没有刻度线 ax.tick_params(axis='both', which='major', labelsize=15) ax.set_yticks(hist_worldcup['Year'].tolist()) ax.set_xticks([500000,1000000,1500000,2000000,2500000,3000000,3500000,4000000]) ax.ticklabel_format(style='plain') plt.tick_params(bottom=False, left=False)
axis=‘both’: 这指定更改应用于哪个轴。‘both’ 表示更改将同时应用于 x 轴和 y 轴。如果您只想更改 x 轴或 y 轴,可以分别使用 ‘x’ 或 ‘y’。
which=‘major’: 这指定是更改主刻度 (‘major’) 还是次刻度 (‘minor’),或是两者都更改 (‘both’)。在这个例子中,只有主刻度被更改。
labelsize=15: 这设置刻度标签的字体大小为 15。刻度标签是指轴上刻度旁边的数字或文本。
这个看着好理解吧,就是对y轴进行修改,ax.set_yticks()
函数用于设置 y 轴上的刻度位置。这个函数允许你指定在 y 轴上应该放置刻度的具体位置。通过使用这个函数,你可以精确地控制 y 轴刻度的显示位置,这对于定制化图表特别有用。
ax.ticklabel_format
# 设置 y 轴刻度标签为科学计数法
ax.ticklabel_format(style='sci', axis='y', scilimits=(0,0))
# 设置刻度标签格式为普通数字格式
ax.ticklabel_format(style='plain')
在 Matplotlib 中,plt.rc
函数用于设置图表的全局参数,影响所有后续创建的图表的外观和行为。这些设置涉及多个方面,包括但不限于图表的样式、字体、颜色、线条类型等。
plt.rc
函数非常强大,允许您自定义几乎所有绘图元素的样式。下面是一些常见的设置类别及其用途:
7. 图例(Legend)设置
使用 plt.rc
设置这些参数时,通常指定设置的类别和键值对字典。例如,设置全局字体大小和粗细:
plt.rc('font', size=12, weight='bold')
这会将所有图表的字体大小设置为12,字体粗细设置为粗体。
import matplotlib.pyplot as plt import numpy as np # 设置全局图表参数 plt.rcParams.update({ 'font.size': 12, # 整体字体大小 'font.family': 'serif', # 字体系列 'font.style': 'italic', # 字体样式 'axes.titlesize': 14, # 轴标题大小 'axes.labelsize': 12, # 轴标签大小 'axes.facecolor': 'lightgray', # 轴背景颜色 'lines.linewidth': 2, # 线条宽度 'lines.linestyle': '-.', # 线条样式 'lines.color': 'blue', # 线条颜色 'figure.figsize': (10, 6), # 图表尺寸(宽度、高度) 'figure.dpi': 100, # 图表分辨率(DPI) 'xtick.direction': 'out', # x轴刻度线方向 'xtick.color': 'red', # x轴刻度线颜色 'ytick.direction': 'in', # y轴刻度线方向 'ytick.color': 'green', # y轴刻度线颜色 'grid.linestyle': '--', # 网格线样式 'grid.linewidth': 0.5, # 网格线宽度 'grid.color': 'gray', # 网格线颜色 'legend.fontsize': 10, # 图例字体大小 'legend.loc': 'upper left' # 图例位置 }) # 创建数据 x = np.linspace(0, 10, 100) y = np.sin(x) # 创建折线图 plt.plot(x, y) plt.title('Line Plot Example') plt.xlabel('X-axis') plt.ylabel('Y-axis') plt.grid(True) # 显示图表 plt.show()
df.shape
,返回一个元组,表示 DataFrame 的行数和列数。df.columns,
返回一个包含 DataFrame 列名的 Index 对象。df.dtypes,
返回一个 Series,显示每列的数据类型。df.index,
返回 DataFrame 的索引。Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。