博客
关于我
matplot绘制图形入门
阅读量:800 次
发布时间:2023-02-07

本文共 2294 字,大约阅读时间需要 7 分钟。

一、折线图

折线图是一种经典的数据可视化方法,广泛应用于展示时间序列数据、函数关系或趋势分析。通过折线图,数据分析师能够直观地观察数据的变化趋势和相关性。以下是基于Python的Matplotlib库实现的折线图代码示例:
import numpy as npimport matplotlib.pyplot as pltx = np.linspace(0, 2 * np.pi, 100)y1, y2 = np.sin(x), np.cos(x)plt.plot(x, y1, label='y = sin(x)', c='r', linestyle='dashed', lw=5)plt.plot(x, y2, label='y = cos(x)', c='y', marker=">")plt.legend()plt.title('Line Chart')plt.xlabel('x')plt.ylabel('y')plt.show()

代码解释:

  • 使用np.linspace生成等距的x值范围,总长度为0到2π。
  • 通过np.sin(x)np.cos(x)生成对应的y值,分别绘制两条折线。
  • 调用plt.plot函数设置线型、颜色、标签等参数,第一条折线用红色虚线,第二条折线用黄色圆点标记。
  • 调用plt.legend()显示图例,plt.title()设置图表标题,plt.xlabel()plt.ylabel()设置坐标轴标签。
  • 最后调用plt.show()展示图表。
  • 二、柱状图

    柱状图是一种直观的数据展示方式,适合比较不同类别的数量或比例。以下是基于Matplotlib的柱状图代码示例:
    import matplotlib.pyplot as pltnum_list = [1.5, 0.6, 7.8, 6]plt.bar(range(len(num_list)), num_list, color='rgb', tick_label=['Monday', 'Tuesday', 'Friday', 'Sunday'])plt.title('Bar Chart Example')plt.show()

    代码解释:

  • 定义数值列表num_list,包含四个数据值。
  • 使用plt.bar绘制柱状图,传入x轴标签和颜色参数color='rgb',默认颜色为红、绿、蓝三种。
  • 调用plt.title()设置图表标题,并最终调用plt.show()展示图表。
  • 三、饼图

    饼图是一种圆形的数据可视化图表,适合展示数据的比例或百分比。以下是基于Matplotlib的饼图代码示例:
    import matplotlib.pyplot as pltsizes = [2, 5, 12, 70, 2, 9]plt.pie(sizes, labels=['Entertainment', 'Childcare', 'Food', 'Mortgage', 'Transport', 'Other'], autopct='%1.1f%%', shadow=False, startangle=150)plt.title('Pie Chart Example - August Family Expenditure')plt.show()

    代码解释:

  • 定义一个数据大小列表sizes,对应六个类别的数据值。
  • 调用plt.pie()绘制饼图,传入数据大小、标签、百分比格式、阴影设置和起始角度。
  • 调用plt.title()设置图表标题,并最终调用plt.show()展示图表。
  • 四、词云图

    词云图是一种信息密集型的可视化图表,适合展示文本数据的分布和频率。以下是基于WordCloud库的词云图代码示例:
    import jiebafrom wordcloud import WordCloudimport matplotlib.pyplot as pltpic_mask = np.array(Image.open("ty.jpg"))text = open(r'kebiao.txt', encoding='utf8')text_list = list(text)word_list = [" ".join(jieba.lcut(sentence)) for sentence in text_list]new_text = ' '.join(word_list)wordcloud = WordCloud(font_path='simhei.ttf', background_color="white", max_words=500, max_font_size=150, random_state=40, mask=pic_mask)w = wordcloud.generate(new_text)plt.imshow(w)plt.axis("off")plt.title("Word Cloud Example")plt.show()

    代码解释:

  • 导入必要的库,包括jieba、WordCloud和Matplotlib。
  • 生成词云图的形状模板pic_mask,使用提供的图片。
  • 读取文本文件并进行分词处理,生成词云图的文本内容。
  • 初始化WordCloud对象,设置字体、背景颜色、最大词数、最大字号等参数。
  • 生成词云图并绘制到图表中,关闭坐标轴,设置标题并展示图表。
  • 以上代码示例展示了几种常见的数据可视化图表类型及其实现方法,通过灵活配置参数,可以生成丰富的图表形式,满足不同数据分析需求。

    转载地址:http://bcyfk.baihongyu.com/

    你可能感兴趣的文章
    No Datastore Session bound to thread, and configuration does not allow creation of non-transactional
    查看>>
    No fallbackFactory instance of type class com.ruoyi---SpringCloud Alibaba_若依微服务框架改造---工作笔记005
    查看>>
    No Feign Client for loadBalancing defined. Did you forget to include spring-cloud-starter-loadbalanc
    查看>>
    No mapping found for HTTP request with URI [/...] in DispatcherServlet with name ...的解决方法
    查看>>
    No mapping found for HTTP request with URI [/logout.do] in DispatcherServlet with name 'springmvc'
    查看>>
    No module named 'crispy_forms'等使用pycharm开发
    查看>>
    No module named cv2
    查看>>
    No module named tensorboard.main在安装tensorboardX的时候遇到的问题
    查看>>
    No module named ‘MySQLdb‘错误解决No module named ‘MySQLdb‘错误解决
    查看>>
    No new migrations found. Your system is up-to-date.
    查看>>
    No qualifying bean of type XXX found for dependency XXX.
    查看>>
    No resource identifier found for attribute 'srcCompat' in package的解决办法
    查看>>
    no session found for current thread
    查看>>
    No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android
    查看>>
    NO.23 ZenTaoPHP目录结构
    查看>>
    no1
    查看>>
    NO32 网络层次及OSI7层模型--TCP三次握手四次断开--子网划分
    查看>>
    NoClassDefFoundError: org/springframework/boot/context/properties/ConfigurationBeanFactoryMetadata
    查看>>
    Node JS: < 一> 初识Node JS
    查看>>
    Node Sass does not yet support your current environment: Windows 64-bit with Unsupported runtime(72)
    查看>>