python数据可视化(一)读取csv数据绘制条扇形图

本文介绍了如何使用Python读取CSV文件,并通过数据可视化库绘制条形和扇形图,展示了数据的分布和比较。适用于数据分析初学者。
本文介绍如何读取csv数据并绘制成扇形图
只是一个很简单的实例,如果需要扩展丰富,只需要往这个模板往上加就是了
csv文件链接:https://pan.baidu.com/s/1aLlGEcZEkMiTf9Pfsh-9WQ 
提取码:jr5t 
import csv
import matplotlib
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd

def hydata_0():
    #读取文件
    pr=pd.read_csv("hydata_swjl_0.csv")
    #print(pr)
    a=[]
    man=0
    woman=0
    others=0
    #统计男女比例
    for  sex in pr['XB']:#从XB列读取数据
        if sex=='男':
            man+=1
        elif sex=='女':
            woman+=1
        else:
            others+=1

    #绘制饼状图

    labels=['MALE','FEMALE','OTHERS']
    #绘图显示的标签
    values=[man,woman,others]
    colors=['y','m','b']
    explode=[0,0.1,0]
    #旋转角度
    plt.title("Male to female ratio",fontsize=25)
    #标题
    plt.pie(values,labels=labels,explode=explode,colors=colors,
            startangle = 180,
            shadow=True,autopct='%1.1f%%')
    plt.axis('equal')
    plt.show()

                
Python 进行数据分析与可视化并对可视化结果进行动态美化可从多方面着手。 ### 数据准备与清洗 进行可视化前,要确保数据质量。可以从文件(如 CSV、Excel 文件)中读取数据,或者从数据库中获取数据,还可使用 Python 进行数据清洗和预处理,保证数据的质量和准确性,为后续可视化打下基础 [^2]。 ### 选择合适表类型 根据数据特点和分析目的选择合适的表类型。例如,展示数据分布情况可选择直方或箱线;比较不同类别之间的数据可选择柱状或饼;展示时间序列数据的变化趋势可选择折线 [^2]。 ### 动态美化方法 - **使用 Matplotlib 库**:Matplotlib 是 Python 中常用的绘库,可绘制饼状、柱状、线型扇形等基本表类型。在绘制表时,可以设置表的标题、坐标轴标签、颜色、字体等属性,以增强表的可读性和美观性。比如以下代码为折线添加标题和坐标轴标签: ```python import matplotlib.pyplot as plt import numpy as np x = np.linspace(0, 10, 100) y = np.sin(x) plt.plot(x, y) plt.title('Sine Wave') plt.xlabel('X-axis') plt.ylabel('Y-axis') plt.show() ``` 在实际应用中,还可以根据需要进行更多的定制和美化,以使表更具表达力 [^3]。 - **使用 Seaborn 库**:Seaborn 是基于 Matplotlib 的高级可视化库,提供了更美观的默认样式和色彩方案。例如,使用 Seaborn 绘制散点: ```python import seaborn as sns import pandas as pd data = {'x': [1, 2, 3, 4, 5], 'y': [2, 4, 6, 8, 10]} df = pd.DataFrame(data) sns.scatterplot(x='x', y='y', data=df) plt.show() ``` - **使用 Plotly 库**:Plotly 是个交互式可视化库,可创建动态、交互式的表。例如,绘制动态的折线: ```python import plotly.express as px import pandas as pd data = {'x': [1, 2, 3, 4, 5], 'y': [2, 4, 6, 8, 10]} df = pd.DataFrame(data) fig = px.line(df, x='x', y='y') fig.show() ``` ### 动态效果添加 - **动画效果**:使用 Matplotlib 的 `FuncAnimation` 函数可以创建动画效果。以下是个简单的动画示例: ```python import matplotlib.pyplot as plt import numpy as np from matplotlib.animation import FuncAnimation fig, ax = plt.subplots() x = np.linspace(0, 2 * np.pi, 100) line, = ax.plot(x, np.sin(x)) def update(frame): line.set_ydata(np.sin(x + frame * 0.1)) return line, ani = FuncAnimation(fig, update, frames=100, interval=50, blit=True) plt.show() ```
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值