• 科学计算和可视化


    1、numpy ,matplotlib的笔记:

     

     2、python123成绩

     1 import numpy as np
     2 import matplotlib.pyplot as plt
     3  
     4 # 中文和负号的正常显示
     5 plt.rcParams['font.sans-serif'] = 'Microsoft YaHei'
     6 plt.rcParams['axes.unicode_minus'] = False
     7  
     8 # 使用ggplot的绘图风格
     9 plt.style.use('ggplot')
    10  
    11 # 构造数据
    12 values = [5,5,5,5,5,5,4]
    13 feature = ['第一周','第二周','第三周','第四周','第五周','第六周','第七周']
    14  
    15 N = len(values)
    16 # 设置雷达图的角度,用于平分切开一个圆面
    17 angles=np.linspace(0, 2*np.pi, N, endpoint=False)
    18 # 为了使雷达图一圈封闭起来,需要下面的步骤
    19 values=np.concatenate((values,[values[0]]))
    20 angles=np.concatenate((angles,[angles[0]]))
    21  
    22 # 绘图
    23 fig=plt.figure()
    24 ax = fig.add_subplot(111, polar=True)
    25 # 绘制折线图
    26 ax.plot(angles, values, 'bo-', linewidth=2, label = '学号2019310143001')
    27 # 填充颜色
    28 ax.fill(angles, values, color='m',alpha=0.35)
    29  
    30 # 添加每个特征的标签
    31 ax.set_thetagrids(angles * 180/np.pi, feature)
    32 # 设置雷达图的范围
    33 ax.set_ylim(0,6)
    34 # 添加标题
    35 plt.title('ghh的成绩单')
    36  
    37 # 添加网格线
    38 ax.grid(True)
    39 # 设置图例
    40 plt.legend(loc = 'best')
    41 
    42 # 显示图形
    43 plt.show()

    结果:

    3、手绘:

     1 from PIL import Image
     2 import numpy as np
     3 vec_el=np.pi/2.2
     4 vec_az=np.pi/4
     5 depth=10
     6 im=Image.open('ooj.jpg').convert('L')
     7 a=np.asarray(im).astype('float')
     8 grad=np.gradient(a)
     9 grad_x,grad_y=grad
    10 grad_x=grad_x*depth/100
    11 grad_y=grad_y*depth/100
    12 dx=np.cos(vec_el)*np.cos(vec_az)
    13 dy=np.cos(vec_el)*np.sin(vec_az)
    14 dz=np.sin(vec_el)
    15 A=np.sqrt(grad_x**2+grad_y**2+1.)
    16 uni_x=grad_x/A
    17 uni_y=grad_y/A
    18 uni_z=1./A
    19 a2=255*(dx*uni_x+dy*uni_y+dz*uni_z)
    20 a2=a2.clip(0,255)
    21 im2=Image.fromarray(a2.astype('uint8'))
    22 im2.save('ddd.jpg')

    原图:

     

     结果:

  • 相关阅读:
    2020年面向对象程序设计寒假作业1_实践题
    2020年面向对象程序设计寒假作业1_问答题
    实验5:开源控制器实践——POX
    实验4:开源控制器实践——OpenDaylight
    实验3:OpenFlow协议分析实践
    实验2:Open vSwitch虚拟交换机实践
    第一次个人编程作业
    实验1:SDN拓扑实践
    第一次博客作业
    面向对象程序设计寒假作业3
  • 原文地址:https://www.cnblogs.com/ghh0/p/12838425.html
Copyright © 2020-2023  润新知