Python numpy数据可视化

    # -*- coding: utf-8 -*-
    # @File    : 数据可视化(Data_visualization).py
    # @Date    : 2019-02-22
    # @Author  : Zhang.Cookie
    
import numpy as np
import matplotlib.pyplot as mp
#数据可视化
x = np.linspace(-np.pi,np.pi,2000)
cos_y = np.cos(x) / 2
sin_y = np.sin(x)
mp.figure('Cookie image',figsize = (12,8),dpi=60,facecolor='lightgray')
#mp.figure(图形对象名,figsize = 窗口大小,dpi=分辨率,facecolor=颜色)
mp.title('Cookie image')
xo = np.pi * 3 / 4
yo_cos = np.cos(xo) / 2  #np 可对矢量和标量操作
yo_sin = np.sin(xo)
#mp.xlim(x.min(),x.max())
#mp.ylim(sin_y.min(),sin_y.max())#去掉空白
#mp.yticks([-1,-0.75],['a','b'])   #刻度位置数组,刻度文本数组
#mp.xticks([-3,-2,-1],['π'])
#mp.xticks([-3,-2,-1],[r'$-\pi$',r'$-\frac{\pi}{2}$'])        #加上r是去掉python转义,加$$代表要做格式化转义,-π,2/π
ax = mp.gca()  #处理轴的函数
ax.spines['left'].set_position(('data',0))
ax.spines['bottom'].set_position(('data',0))
#ax.spines['right'].set_color(("red"))    #指定轴颜色
ax.spines['right'].set_color(("none"))
ax.spines['top'].set_color(("none"))
mp.plot(x,cos_y, linestyle = '--',linewidth = 6 ,color = 'dodgerblue',label =r'$y=\frac{1}{2}coas(x)$' )
#(水平坐标数组,垂直坐标数组,线型,线宽,线色,图例文本) 画图函数
mp.plot(x,sin_y,label = r'$y=sin(x)$')
mp.plot([xo,xo],[yo_cos,yo_sin],linestyle='--',linewidth=1 ,color = 'dodgerblue') 	#二点间画线
mp.legend(loc = 'upper left') 	#显示图例在那个位置
mp.scatter([xo,xo],[yo_cos,yo_sin],s =120,edgecolor="limegreen",facecolor = "white",zorder = 4)
#(水平坐标数组,垂直坐标数组,点型,大小,勾边色,填充色,z序(0,1)) 画点函数
mp.annotate(r'$\frac{1}{2}cos(\frac{3\pi}{4})=-\frac{\sqrt{2}}{4}$',	#\frac是分数,\sqrt根号
            xy=(xo,yo_cos),xycoords='data',		#data 数据坐标系
            xytext = (-90,-40),textcoords = 'offset points', 	#向下偏移,pffset points水平坐标系
            fontsize = 14,
            arrowprops = dict(arrowstyle = '- >',connectionstyle='arc3,rad=.2')) 	#arc3圆弧,rad半径
#(备注文本,xy=目标位置,xycoords=目标坐标系,xytest=文本位置,textcoords=文本坐标系,fontsize=字体大小,arrowprops=箭头属性)
mp.annotate(r'$sin(\frac{3\pi}{4})=\frac{\sqrt{2}}{2}$',	#\frac是分数,\sqrt根号
            xy=(xo,yo_sin),xycoords='data',	#data 数据坐标系
            xytext = (20,20),textcoords = 'offset points',
            fontsize = 14,
            arrowprops = dict(arrowstyle = '- >',connectionstyle='arc3,rad=.2')) 	#arc3圆弧,rad半径
mp.show()


ps:使用的函数
#图形对象 figure
#轴 spines
#图例 label
#二点连线|画线,plot
#备注 annotate

代码运行效果图:
在这里插入图片描述

`.npy` 文件是由 NumPy 库生成的一种二进制文件格式,用于存储数组数据。由于它是二进制格式,默认情况下无法直接查看内容。如果需要对 `.npy` 文件进行可视化操作,可以按照以下步骤完成: ### 步骤一:加载 `.npy` 文件 首先需要通过 Python 的 `NumPy` 模块将 `.npy` 文件读取到内存中: ```python import numpy as np # 加载 .npy 文件 data = np.load('your_file.npy') ``` ### 步骤二:检查数组形状和类型 在可视化之前了解数组的基本信息是很重要的: ```python print("Shape:", data.shape) print("Data type:", data.dtype) ``` 这有助于确定如何适当地显示该数据。 ### 步骤三:选择合适的可视化工具或库 根据数据的内容,可以选择适当的可视化技术: #### 1. 数值型二维矩阵 - 使用 Matplotlib 热图(Heatmap) 对于简单的数值阵列,热力图是一个很好的表示方式。 ```python import matplotlib.pyplot as plt plt.imshow(data, cmap='viridis', interpolation='nearest') # 可选其他colormap如'gray' plt.colorbar() plt.show() ``` #### 2. 高维张量 - 投影降维 (PCA 或 t-SNE) 后绘图 若数据维度较高,则需先降低其维度以便于观察。 ```python from sklearn.decomposition import PCA pca = PCA(n_components=2) reduced_data = pca.fit_transform(data.reshape((data.shape[0], -1))) # 假设第一维度代表样本数 plt.scatter(reduced_data[:, 0], reduced_data[:, 1]) plt.xlabel('Principal Component 1') plt.ylabel('Principal Component 2') plt.title('2D Projection via PCA') plt.show() ``` #### 3. 图像或其他媒体形式的数据 - 直接渲染图像 如果是图片等视觉媒体相关的数据可以直接作为RGB通道处理并展示出来。 ```python if len(data.shape)==3 and data.shape[-1]==3: # RGB Image? plt.figure(figsize=(6,6)) plt.axis('off') plt.imshow(np.uint8(data.clip(0.,1.*255))) plt.show() else: print("Not an image or unsupported format") ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

流氓也是种气质 _Cookie

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值