java matplot_Matplotlib 基础知识

本文介绍了如何在Java中利用matplotlib库进行数据可视化,包括绘制正弦波、一元二次曲线、随机点、垂直柱状图、多组柱状图、直方图和盒状图,以及带有百分比和标签的饼状图。通过实例展示了各种图表的绘制方法。
摘要由CSDN通过智能技术生成

1.绘制正弦

from matplotlib.pyplot import plot, show

import math

T = range(100) # 0~99

# X周的范围2pi,分成100份

X = [(2 * math.pi) * t / len(T) for t in T]

# sin和cos

Y = [math.sin(value) for value in X]

print(X)

plot(X, Y)

# 绘制

show()

2dae6cdf4596b81768797c47383715df.png

2.在同一个二维坐标系绘制出一元二次曲线和正弦、余弦曲线

import numpy

from matplotlib.pyplot import plot, show

# 在同一个二维坐标系绘制出一元二次曲线和正弦、余弦曲线

# 一元二次方程

X = numpy.linspace(-3, 3, 200)

Y = X ** 2 - 2 * X + 1

plot(X, Y)

# sin

X = numpy.linspace(0, 2 * numpy.pi, 100)

Y = numpy.sin(X)

plot(X, Y)

# cos

X = numpy.linspace(0, 2 * numpy.pi, 100)

Y = numpy.cos(X)

plot(X, Y)

show()

ad07774b2bfcc9903c7046940bcd4429.png

3.绘制随机点

import random

import matplotlib.pyplot as plt

# 绘制随机点

count = 1024

X = [random.random() for i in range(count)]

Y = [random.random() for i in range(count)]

# 绘制连续的

# plt.plot(X, Y)

# 绘制随机的

plt.scatter(X, Y)

plt.show()

f4d293ce3367c99bdceae70844992956.png

4.绘制垂直柱状图

from matplotlib.pyplot import plot, show, bar, barh

# 绘制垂直柱状图

# x坐标

X = [0, 1, 2, 3]

# y轴坐标

Y = [22, 11, 44, 15]

bar(X, Y)

show()

99453afef23ef570f261063a473a88eb.png

5.绘制多组垂直柱状图

import matplotlib.pyplot as plt

# 绘制多组垂直柱状图

Y = [

[11, 22, 44, 66],

[55, 66, 77, 22],

[44, 55, 66, 77]

]

plt.bar(range(4), Y[0], width=0.25)

plt.bar([x + 0.25 for x in range(4)], Y[1], width=0.25)

plt.bar([x + 0.5 for x in range(4)], Y[2], width=0.25)

plt.show()

10a66c45f5e7ed8ad2a07cb1346ca44c.png

6.在同一个窗口绘制直方图和盒状图

import numpy

import matplotlib.pyplot as plot

# hist:直方图

# boxplot:盒状图

# randn函数返回一个或一组样本,具有标准正态分布

data = numpy.random.randn(100)

# print(data)

print("平均值==", numpy.average(data))

# 把显示分为两个区域

fig, (ax1, ax2) = plot.subplots(1, 2, figsize=(8, 4))

print(fig) # Figure(800x400)

# 直方图,分为100份

ax1.hist(data, 100)

# 盒状图

ax2.boxplot(data)

# 显示

plot.show()

18e615929222229bad5d4a6d40977204.png

7.绘制有百分比和标签的饼状图

import matplotlib.pyplot as plt

X = [22, 33, 11, 66]

labels = ["张三", "李四", "王二", "麻子"]

plt.pie(X, autopct="%.2f%%", labels=labels)

plt.legend(labels)

plt.axis("equal")

plt.show()

cc585243e976fc8be2d9a55205318c86.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值