用Pycharm数据可视化基础使用

 1.选择合适的图表

        用Pycharm数据可视化基础使用_第1张图片

 2.图表的组成:

        用Pycharm数据可视化基础使用_第2张图片

 3.Matplotlib

        Python2D绘图库,常用于数据可视化

        (1)安装:

                 打开cmd,输入

pip install matplotlib

        (2)使用一般步骤:

                引入pyplot模块

import matplotlib.pyplot as plt

                使用Matplotlib模块的plot方法绘制图表

plt.plot([1, 2, 3, 4, 5], [2, 10, 6, 7, 11], 'ro')
plt.show()

                运行程序

               #说明

                        matplotlib.pyplot.plot(x, y, format_string, **kwargs)

                                x:x轴数据

                                y:y轴数据

                                format_string:曲线格式(颜色、线条样式、标记样式等)

                                **kwargs:键值参数

4.绘制简单折线图:

        思路:分别产生x和y的值之后绘制图表

import matplotlib.pyplot as plt
x = range(1, 15, 1)
# 从1开始,到15,步长为1,一共14个数
y = range(1, 42, 3)
plt.plot(x, y)
plt.show()

 5.导入表格读取数据

        将表格保存到PycharmProject(操作的工程)目录里

        或者指定路径查找

                sheet_name——表单名称/位置(可不设)

                header——表头设置(可不设,默认第一行,无设为None)

                index_col——索引列设置

                usecols——读取部分列(序号/名称)

                nrows——读取部分行

                加r——防止转义 

df = pd.read_excel(r"F:\练习\可视化\成绩单.xlsx", 
    sheet_name="Sheet1", header=0, index_col=[0], usecols="A, C:D")

        选择符合条件的列——选择以字母e结尾的所有列

df = pd.read_excel(r"./data.xlsx", usecols=lambda x:x.endswith("e")

        跳过行——跳过第二行和第三行

df = pd.read_excel(r"./data.xlsx", skiprows=[1,2])

        查看是否读取成功

print(df)

        导入pandas库-->读取数据-->绘制图表

import pandas as pd
import matlotlib.pyplot as plt
df = pd.read_excel('文档名称.xlsx')
# 测试是否读出
printf(df)
# 读取数据
x = df['日期']
y = df['温度']
plt.plot(x, y)
plt.show()

        处理表格显示不完整问题(放在打印前)

pd.set_option('display.max_rows', None)
# 显示所有行
pd.set_option('display.max_columns', None)
# 显示所有列
pd.set_option('display.expand_frame_repr', False)
# 设置不折叠数据
pd.set_option("display.max_colwidth", 200)
# 显示最大列宽

        查询列数据类型 

print(df.dtypes)

         缺失值处理

                将缺失值自动用NaN表示

df = pd.read_excel(r"./data.xlsx", na_values='#N')

6.随机生成x,y值 

import random
# 列表生成式
x=[i for i in range(1, 11)]
# 生成随机数——1-10内生成十个随机数
y=[random.randint(1, 10)for _ in range(10)]

7.图表设置

        (1)处理中文乱码(更改字体):

                font——字体,sans-serif——无衬线字体(一般中文都使用无衬线字体)

                SimHei——黑体

plt.rcParams['font.sans-serif'] = ['SimHei']

        (2)颜色:

                        引入matplotlib.pyplot.plot的color参数

plt.plot(x, y, color='r')
设置值 说明 设置值 说明
b 蓝色 m 洋红色
g 绿色 y 黄色
r 红色 k 黑色
c 蓝绿色 w 白色
#FFFF00 黄色(色号) 0.5 灰度值字符串(0~1)

        (3)样式:

                引入matplotlib.pyplot.plot的linestyle参数用Pycharm数据可视化基础使用_第3张图片

# -号也能用实现,-.点线,--双线,可以结合用,:号虚线

# 散点图引用的是实心圆标志(可换),即’ro‘,红色的实心圆

plt.plot(x, y, 'ro')

# 可以使用参数marker设置样式

        含有markerfacecolor参数(mfc),内心颜色为白色

plt.plot(x, y, marker='o', markerfacecolor='w')

        此时折线图上x对应的点会有圆形标记

      

        (4)画布设置

plt.figure(num=None, figsize=None, dpi=None, facecolor=None, edgecolor=None, frameon=True)

        num:图像编号或名称,数字为编号字符串为名称

        figsize:画布宽与高(英寸)

        dpi:绘画对象分辨率,默认80,分辨率越大,画布越大

        facecolor:背景颜色

        edgeolor:边框颜色

        framon:是否显示边框

        (5)坐标轴设置

                坐标轴标题:先得处理中文乱码问题

plt.xlabel('2021五一天气情况')
plt.ylabel('温度')

                坐标轴刻度线设置:

# 坐标轴刻度线是否显示——此时底部刻度线不显示
plt.tick_params(bottom=False, left=True, right=True, top=True)
# 坐标轴刻度线方向——此时刻度线x在轴内,y在轴外
plt.rcParams['xtick.direction']='in'
plt.rcParams['ytick.direction']='out'

                坐标轴刻度:

                        month--刻度单位为月

                        第三个参数为步长

plt.xticks(range(1, 11),month)
plt.yticks(range(1, 11, 5))

                坐标轴范围:

plt.xlim(1, 20)
plt.ylim(1, 20)

          (6)网格线设置

plt.grid(color='0.5', linestyle='--', linewidth='1', axis='x')

                        axis='x'        隐藏x轴网格线

                        linewidth=‘1’        线宽度为1

                        网格线支持以下样式:

        (7)添加文本标签

# 每次都从x中取一个点,y中取一个点,从而得到坐标点
for a, b in zip(x, y):
    plt.text(a, b, b, ha='center', va='bottom', fontsize=12, color='r')

                        # ha——垂直对齐方式, va——水平对齐方式,第三个参数为所显示的标签内容

        (8)标题和图例

                        在生成曲线时plt.plot()时,在括号内部加上参数label=‘曲线名‘

                        最后生成图例直接输入plt.legend()即可

plt.title('测试联系', fontsize=18)
# 参数——颜色大小等也能设置
plt.legend('测试次数')
# 默认偏左
plt.legend(('测试次数',))
# 此时偏右

       用Pycharm数据可视化基础使用_第4张图片         

        (9)文本注释

plt.annotate('最大数', xy=(4, 55), xytext=(5, 55), arrowprops=dict(facecolor='r', shrink=0.05))

                        annotate(‘文本内容’,所指点位,出发点,箭头样式=dict(字典)型数据(参数)

用Pycharm数据可视化基础使用_第5张图片

                        arrowstyle用Pycharm数据可视化基础使用_第6张图片

        (10)画布间距

plt.subplots_adjust(left=0.2, right=0.9, top=0.4, bottom=0.2)
# left、bottom的值越大,间距越大,right、top值越小,间距越大
# left不能大于right

 8.时间解析

# 解析时间列
df=pd.read_excel(r'./data.xls',
                 parse_dates=[0],
                 date_parser=lambda x:pd.to_datetime(x,format='%Y_%m_%d'))

         parse_dates——需要时间解析的列位置

        date_parser——选择解析器(lambda)

        转换为时间格式——x:pd.to_datetime(x, format='%Y_%m_%d')

        此时查看数据格式为:datetime64[ns]



 

你可能感兴趣的:(数据可视化,信息可视化,python)