精华内容
下载资源
问答
  • 我们了解了常用的五种图形:散点图折线图柱状图直方图饼图那么如何用Matplotlib和Seaborn来画出它们。Matplotlib:它在使用时灵活,可以定制化绘图,但是时间上的花费也比较多。为了提高画图效率,包Seaborn基于...

    277c609624be550c7d6f179745c85a07.gif

    我们了解了常用的五种图形:

    • 散点图

    • 折线图

    • 柱状图

    • 直方图

    • 饼图

    那么如何用MatplotlibSeaborn来画出它们。

    Matplotlib:它在使用时灵活,可以定制化绘图,但是时间上的花费也比较多。为了提高画图效率,包Seaborn基于Matplotlib底层开发,使用更少的代码,将常用的可视化绘图过程进行封装,有时只需要一行代码便可以画出我们想要的图形,省时省力;此外seaborn还提供更为丰富的图像以及3D图形供我们使用。掌握两个库的使用可以满足我们在不同情况下的需求。

    散点图

    散点图(scatter plot),它将两组数据(或者变量)的值显示在二维坐标中,适合展示两个变量之间的关系。

    第一张散点图用matplotlib绘制,第二张用seaborn绘制。我们可以看到两张图的区别:matplotlib默认情况下绘图区呈现是一个长方形,而seaborn是正方形并且含有x轴和y轴的标签;seaborn还展示散点图还给出了两组数据(变量)的分布情况。

    8ae13d219a5f45d853382c684baca718.png

    说明:

    • seaborn画图时,使用函数 画散点图。其中x,y是data中的下标,data就是我们要传入的数据。

    • 在Seaborn中,数据格式需要转换一下,采用科学计算库Pandas中的数据格式DataFrame;对DataFrame的概念我们了解即可,下期DataScience也会推出科学计算库Numpy和Pandas的使用中会有讲解。

    折线图

    折线图能够显示数据的变化趋势,在matplotlib使用plot函数绘制,而在seaborn使用 lineplot(x,y,data=None)函数;data是传入的数据,一般是pandas中的DataFrame数据结构。

    8368b2d8c7721b852f58711bb14eab9c.png

    直方图

    直方图( histogram )将横坐标等分成一定数量的小区间,在小区间内填充图形,它的高度是y值。特点是用来绘制连续性的数据,展示一组或者多组数据的分布状况(统计)。

     #数据准备:创建一个一维随机数组import numpy as npimport randomimport pandas as pda = np.random.randn(100)x = pd.Series(a) # Series是pandas中用来存放一维数组的数据格式# ⽤Matplotlib画直⽅图;"""使用plt.hist(x, bins=10)函数参数x是一维数组,bins代表小区间的数量,默认是10。"""import matplotlib.pyplot as pltplt.hist(x, bins=10)plt.show()# ⽤Seaborn画直⽅图:'''使用sns.distplot(x, bins=10, kde=True)函数参数x是一维数组,bins代表直方图中的小区间数量,kde代表显示核密度估计,默认是True。核密度估计是通过核函数来估计概率密度的方法。'''import seaborn as snssns.distplot(x, kde=False)plt.show()# 图三显示用核函数估计概率密度sns.distplot(x, kde=True)plt.show()

    Matplotlib 运行结果:

    8ff8a1f7864eee33f5426c52c1b1b44a.png

    Seaborn运行结果:

    f14d6b3a1a7a3e13c8ad7b2af6aafbde.png

    条形图

    通过直方图可以看到变量的数值分布,那么条形图可以帮我们查看类别的特征。在条形图中,长条形的长度表示类别的频数,宽度表示类别。

    条形图(bar chart)绘制离散的数据,能够一眼看出各个数据的大小,比较数据之间的差别。(统计/对比)

     # 数据准备x = ['Cat1', 'Cat2', 'Cat3', 'Cat4', 'Cat5']y = [3, 5, 7, 2, 9]# ⽤Matplotlib画条形图# plt.bar(x, height)函数,参数x代表x轴的类别,height是y轴的数值import matplotlib.pyplot as pltplt.bar(x,y)plt.show# ⽤Seaborn画条形图# sns.barplot(x=None,y=None,data=None)函数;参数data为DataFrame类型import seaborn as snssns.barplot(x,y)plt.show()

    运行结果:

    8141ef34d9b66c1c0d90e94e842a05db.png

    饼图

    饼图(Pie Chart)可以显示每个部分大小与总和之间的比例。在Python数据可视化中,主要用Matplotlib的pie函数来绘制。

    • 用到的方法 matplotlib.pyplot.pie()

    • 参数解析:

    •  pie(x, explode=None, labels=None,      colors=('b', 'g', 'r', 'c', 'm', 'y', 'k', 'w'),      autopct=None, pctdistance=0.6, shadow=False,      labeldistance=1.1, startangle=None, radius=None,      counterclock=True, wedgeprops=None, textprops=None,      center = (0, 0), frame = False )  
    • 参数说明:

    • x (每一块)的比例,如果sum(x) > 1会使用sum(x)归一化 labels (每一块)饼图外侧显示的说明文字explode (每一块)离开中心距离 startangle 起始绘制角度,默认图是从x轴正方向逆时针画起,如设定=90则从y轴正方向画起

      shadow 是否阴影 labeldistance label绘制位置,相对于半径的比例, 如<1则绘制在饼图内侧 autopct控制饼图内百分比设置,可以使用format字符串或者format function‘%1.1f’指小数点前后位数(没有用空格补齐) pctdistance 类似于labeldistance,指定autopct的位置刻度 radius 控制饼图半径

      返回值: 如果没有设置autopct,返回(patches, texts) 如果设置autopct,返回(patches, texts,autotexts) patches – list –matplotlib.patches.Wedge对象 textsautotexts – matplotlib.text.Text对象

     # 数据准备,显示各学历人数的比例nums = [20, 42, 18, 7, 6]labels = ['High-school', 'Bachelor', 'Master', 'Ph.d', 'Other']# pie(x, labels=None)函数,x代表绘制饼图的数据,labels是缺省值,可以为饼图添加标签import matplotlib.pyplot as pltplt.pie(x=nums, labels=labels, autopct='%1.1f%%')# autopct:设置圆内的文本 # '1.1f%'指图片上显示的数字格式,表示小数点前后位数# 另外两个%%是format格式的符号plt.show()

    运行结果:

    b6a372586d0a7419782009f515a79fa3.png

    小作业

    • 1、说出Matplotlib和Seaborn库的区别。

    • 2、总结画出五种常见图像的函数。

    011abf8e7cee7bddeffcf4c08bc2586a.png

    请添加小编,回复关键词:[数据可视化],

    6976139554b1c9680a0122108c8aa646.png

    -今日互动-

    你学会了吗?欢迎文章下方留言互动af0363bab2147190c27abaf612a3871b.png

    如果对你有帮助的话

    ❤️来个「转发朋友圈」「在看」,是最大的支持❤️
    展开全文
  • 所以要让图形编辑器显示一个图片作为背景,可以在它们其中一个层里绘制这个图片,也可以添加一个层专门放置背景图片。我推荐使用后者,以下代码是在前面的GefPractice项目基础上做了简单修改得到的: staticIma...

    GEF的RootEditPart对应的Figure是一个由多个Layer组成的LayeredPane,每个Layer负责包含不同类型的图形元素,如节点、连接、网格线等等。所以要让图形编辑器显示一个图片作为背景,可以在它们其中一个层里绘制这个图片,也可以添加一个层专门放置背景图片。我推荐使用后者,以下代码是在前面的GefPractice项目基础上做了简单修改得到的:

    static Image BG_IMAGE=new Image(null,"c:\\bg.jpg");

    protected void configureGraphicalViewer() {
        
    super.configureGraphicalViewer();
        getGraphicalViewer().setRootEditPart(
    new ScalableFreeformRootEditPart() {
            
            
    //覆盖ScalableFreeformRootEditPart的createlayers方法以便增加自己的层
            protected void createLayers(LayeredPane layeredPane) {
                Layer layer 
    = new FreeformLayer() {
                    
    protected void paintFigure(Graphics graphics) {
                        
    super.paintFigure(graphics);
                        
    //在层上绘制图片,也可以绘制其他图形作为背景,GEF的网格线就是一例
                        graphics.drawImage(BG_IMAGE,0,0);
                    }
                };
                layeredPane.add(layer);
                
    super.createLayers(layeredPane);
            }
        
        });
        getGraphicalViewer().setEditPartFactory(
    new PartFactory());
    }

    这样得到的背景图片只显示编辑器可见区域的部分,也就是会随滚动条滚动,见下图。


    具有背景图片的图形编辑器

    工程下载(背景图片名为“c:\bg.jpg”)

    转载于:https://www.cnblogs.com/bjzhanghao/archive/2006/06/21/431774.html

    展开全文
  • 可视化笔记3--matplotlib 常见图形绘制3 接着上一篇博文,继续简单学习了下matplotlib绘图功能,基本包括:图片保存及工具栏使用、区域填充、形状绘制、图形美化、绘制极坐标、绘制积分函数、散点和条形图综合...

    可视化笔记3--matplotlib 常见图形绘制3

     

    接着上一篇博文,继续简单学习了下matplotlib绘图功能,基本包括:图片保存及工具栏使用、区域填充、形状绘制、图形美化、绘制极坐标、绘制积分函数、散点和条形图综合案例,相应学习笔记分享在此处,以便于后续参考。后续若有新功能函数及案例,也会在此处加以补充!

     

    1、图片保存及工具栏使用

    matplotlib不仅可以手动保存图片,也可以自动通过plt.savefig方法来保存图片,代码如下所示;

    matplotlib提供了一个很方便的工具栏,其可以对图片进行放缩、调整显示格式、保存等操作。

    import matplotlib.pyplot as plt
    import numpy as np
    
    #图片保存
    x = np.linspace(0,5*np.pi,1000)
    y1 = np.sin(x)
    y2 = np.sin(2*x)
    plt.plot(x,y1,'r')
    plt.plot(x,y2,'b')
    plt.savefig('./img/C21_1.png') #保存图片
    plt.show()
    
    #工具栏使用
    x = np.random.rand(1000)
    y = np.random.rand(1000)
    colors = np.random.rand(1000)
    area = np.pi*(15*np.random.rand(1000)**2)
    plt.scatter(x,y,s=area,c=colors,alpha=0.5)
    plt.show()

    savefig保存的图片如下:

    默认生成的散点图,及其局部放大后效果:

    2、区域填充

    matplotlib可以通过fill和fill_between填充区域,达到不同的填充效果,代码如下:

    import matplotlib.pyplot as plt
    import numpy as np
    
    #图片填充-填充曲线到x轴区间
    x = np.linspace(0,5*np.pi,1000)
    y1 = np.sin(x)
    y2 = np.sin(2*x)
    #plt.plot(x,y1,'r') #绘制曲线
    #plt.plot(x,y2,'b')
    plt.fill(x,y1,'r',alpha=0.3)
    plt.fill(x,y2,'b',alpha=0.3) #默认蓝色会覆盖红色
    plt.savefig('./Notes/img/C22_1.png') #保存图片
    plt.show()
    
    #图片填充--填充两个曲线之间部分
    x = np.linspace(0,5*np.pi,1000)
    y1 = np.sin(x)
    y2 = np.sin(2*x)
    plt.plot(x,y1,x,y2,'black') #绘制曲线
    plt.fill_between(x,y1,y2,where=y1>y2,facecolor='red',alpha=0.3)
    plt.fill_between(x,y1,y2,where=y1<y2,facecolor='blue',alpha=0.3)
    # where=y1>y2, 通过比较y1 y2的值填充不同颜色
    #interpolate=True可以自动填充空白位置
    plt.savefig('./Notes/img/C22_2.png')
    plt.show()

    3、绘制形状

    matplotlib.patches库具备多种图形函数,可以根据需要添加,此处添加了4个基础图形!

    import matplotlib.pyplot as plt
    import numpy as np
    import matplotlib.patches as mpatches #需要引入该库
    
    #reference https://matplotlib.org/api/patches_api.html
    
    fig,ax = plt.subplots()
    #1 添加圆形
    xy1 = np.array([0.2,0.2]) #确定圆心
    circle = mpatches.Circle(xy1,0.2) #坐标,半径
    ax.add_patch(circle)
    
    #2 添加长方形
    xy2=np.array([0,0.7])
    rect = mpatches.Rectangle(xy2,0.4,0.3) #左下角位置,宽高
    ax.add_patch(rect)
    
    #添加多边形
    xy3=np.array([0.7,0.2])
    polygon=mpatches.RegularPolygon(xy3,5,0.1)#圆心位置,边数量,顶点到圆心距离
    ax.add_patch(polygon)
    
    #添加椭圆
    xy4=np.array([0.7,0.8])
    ellipse = mpatches.Ellipse(xy4,0.4,0.2,color='y') #圆心,长直径,短直径
    ax.add_patch(ellipse)
    
    plt.axis('equal') #调整xy轴比例,确保图像为圆形的
    plt.grid()
    plt.savefig('./Notes/img/C23_1.png')
    plt.show()

    4、图形美化

    matplotlib默认绘图样式可能看上去不太符合所有人的需求,那么可以使用 plt.style.use()函数来选择自己喜欢的绘图类型,如下代码分别选择了ggplot和bmh两种样式!

    、import matplotlib.pyplot as plt
    import matplotlib as mpl
    import numpy as np
    
    #1) 默认样式
    def DrwaFigures(PicName='C24_1.png'):
        # 绘制散点
        fig,ax = plt.subplots(ncols=2,nrows=2)
        ax1,ax2,ax3,ax4=ax.ravel()
        x,y=np.random.normal(size=(2,100))
        ax1.plot(x,y,'o')
    
        #绘制10条不同颜色线段
        x=np.arange(0,10)
        y=np.arange(0,10)
        ncolors = len(mpl.rcParams['axes.prop_cycle']) #显示颜色种类
        shift = np.linspace(0,10,ncolors)
        for s in shift:
           ax2.plot(x,y+s,'-')
    
        #绘制柱状图-分别使用默认的0-1-2号颜色
        x=np.arange(5)
        y1,y2,y3=np.random.randint(1,25,size=(3,5))
        width=0.25
        #print(mpl.rcParams['axes.prop_cycle'])
        ax3.bar(x,y1,width,color = mpl.rcParams['axes.prop_cycle'].by_key()['color'][0])
        ax3.bar(x+width,y2,width,color=mpl.rcParams['axes.prop_cycle'].by_key()['color'][1])
        ax3.bar(x+2*width,y3,width,color=mpl.rcParams['axes.prop_cycle'].by_key()['color'][2])
    
        # 添加圆形
        #print(plt.rcParams['axes.prop_cycle'])
        for i,xcolor in enumerate(plt.rcParams['axes.prop_cycle']):
            xy=np.random.normal(size=2)
            ax4.add_patch(plt.Circle(xy,radius=0.3,color=xcolor['color']))
        ax4.axis('equal')
        plt.savefig('./Notes/img/'+PicName)
        plt.show()
    
    def DrawFigureWithStyle():
        #)2调整样式
        print(plt.style.available)
        # 默认样式: ['bmh', 'classic', 'dark_background', 'fast', 'fivethirtyeight', 'ggplot', 'grayscale', 'seaborn-bright', 'seaborn-colorblind', 'seaborn-dark-palette', 'seaborn-dark', 'seaborn-darkgrid', 'seaborn-deep', 'seaborn-muted', 'seaborn-notebook', 'seaborn-paper', 'seaborn-pastel', 'seaborn-poster', 'seaborn-talk', 'seaborn-ticks', 'seaborn-white', 'seaborn-whitegrid', 'seaborn', 'Solarize_Light2', 'tableau-colorblind10', '_classic_test']
        plt.style.use('ggplot')
        DrwaFigures('C24_2.png')
        plt.style.use('bmh')
        DrwaFigures('C24_3.png')
    
    if __name__ =='__main__':
        DrwaFigures()
        DrawFigureWithStyle()

    默认样式:

    ggplot样式:

    bmh样式: 

    5、绘制极坐标图形

    极坐标是一种常用的数学图形,它由极半径和极角构成,其绘制方法如下:

    import matplotlib.pyplot as plt
    import numpy as np
    
    #绘制极坐标图形
    r=np.arange(1,6,1)
    scope = [0,np.pi/2,np.pi,3*np.pi/2,2*np.pi]
    ax = plt.subplot(111,projection='polar') #定义一个坐标
    ax.plot(scope,r,color='r',linewidth=2)
    ax.grid(True)
    plt.savefig('./Notes/img/C25_1.png')
    plt.show()
    
    #绘制一个正方形,需要你5个点按照次序相连接
    r = np.empty(5) #生成大小为5的数组
    r.fill(5) #填充值为5
    scope = [0,np.pi/2,np.pi,3*np.pi/2,2*np.pi]
    ax = plt.subplot(111,projection='polar')
    ax.plot(scope,r,color='r',linewidth=2)
    ax.grid(True)
    plt.savefig('./Notes/img/C25_2.png')
    plt.show()
    
    #绘制8边形需要9个点连接
    r = np.empty(9) #生成大小为9的数组
    r.fill(9) #
    print('r:',r)
    scope = [0,np.pi/4,np.pi/2,3*np.pi/4,4*np.pi/4,5*np.pi/4,6*np.pi/4,7*np.pi/4,2*np.pi]
    ax = plt.subplot(111,projection='polar')
    ax.plot(scope,r,color='r',linewidth=2)
    ax.grid(True)
    plt.savefig('./Notes/img/C25_3.png')
    plt.show()

    6、绘制积分函数

    以下通过积分函数来熟悉曲线、坐标轴、多边形、公式的绘制,代码如下:

    import matplotlib.pyplot as plt
    from matplotlib.patches import Polygon
    import numpy as np
    
    #函数积分图
    
    def func(x):
        return  -(x-2)*(x-8)+40
    
    #1)绘制函数曲线
    x = np.linspace(0,10)
    y = func(x)
    fig,ax=plt.subplots()
    plt.plot(x,y,'r',linewidth=1.5)
    
    # 2)绘制坐标轴信息
    #坐标轴参考文献 https://matplotlib.org/api/axes_api.html
    a = 2
    b = 9
    ax.set_xticks([a,b]) #设置x轴[a,b]范围为[2,9]
    ax.set_xticklabels(['$a$','$b$']) #设置为具体字符,此处为了保值字体和公式字体一样使用$a$表示公式变量
    ax.set_yticks([])
    plt.figtext(0.9,0.05,'$x$') #x,y范围为[0,1],1表示远离0,0表示接近0
    plt.figtext(0.1,0.88,'$y$')
    
    #3)绘制多边形
    ix = np.linspace(a,b)
    iy=func(ix)
    ixy=zip(ix,iy)
    verts=[(a,0)]+list(ixy)+[(b,0)]
    #print(verts)
    poly = Polygon(verts,facecolor='0.8',edgecolor='0.5') #数字越大,颜色越浅
    ax.add_patch(poly)
    
    #4)绘制公式
    x_math=a+(b-a)/20 #此处也可以直接写具体位置
    y_math=30
    plt.text(x_math,y_math,r'$\int_a^b (-(x-2)*(x-8)+40)dx$',fontsize=15)
    
    plt.savefig('./Notes/img/C26_1.png')
    plt.show()

    7、散点、条形图综合案例

    先绘制一个散点图,并分别用条形图描述其x、y轴分布的频率,其代码如下:

    import matplotlib.pyplot as plt
    import numpy as np
    
    #1)设置散点和风格
    plt.style.use('ggplot') #设置风格
    x=np.random.randn(200)
    y=x+np.random.randn(200)*0.5
    
    #2)设置三个区域图形
    margin_border=0.1 #边缘宽度
    width=0.6 #大正方形宽高
    margin_between=0.02 #大小矩形之间间隔
    height=0.2 #小矩形高度
    
    #定义大正方形坐标
    left_s = margin_border
    bottom_s = margin_border
    height_s = width
    width_s = width
    
    #定义贴近y轴上的小矩形
    left_y=margin_border
    bottom_y=margin_border+width+margin_between
    height_y= height
    width_y = width
    
    #定义贴近x轴上的小矩形
    left_x = margin_border+width+margin_between
    bottom_x =margin_border
    height_x = width
    width_x = height
    
    plt.figure(1,figsize=(8,8))
    rect1 = [left_s,bottom_s,width_s,height_s]
    rect2 = [left_y,bottom_y,width_y,height_y]
    rect3 = [left_x,bottom_x,width_x,height_x]
    #3)去掉多余坐标
    axScatter1=plt.axes(rect1)
    axScatter2=plt.axes(rect2)
    axScatter2.set_xticks([]) #去掉x轴重复坐标
    axScatter3=plt.axes(rect3)
    axScatter3.set_yticks([])#去掉y轴重复坐标
    #4)绘制散点图和条形图
    axScatter1.scatter(x,y)
    bin_width=0.25
    xymax=np.max([np.max(np.fabs(x)),np.max(np.fabs(y))]) #求出x或者y的最大值
    lim = int(xymax/bin_width+1)*bin_width #+1防止四舍五入,lim为新的宽度值
    axScatter1.set_xlim(-lim,lim)#设置x轴位置
    axScatter1.set_ylim(-lim,lim)#设置y轴位置
    #绘制条形图
    bins = np.arange(-lim,lim+bin_width,bin_width)
    axScatter2.hist(x,bins=bins)
    axScatter2.set_xlim(axScatter1.get_xlim())
    axScatter3.hist(y,bins=bins,orientation='horizontal')
    axScatter3.set_ylim(axScatter1.get_ylim())
    
    plt.savefig('./Notes/img/C28.png')
    plt.show()

    说明:

    以上默认测试python版本为python3.6.3,matplotlib 3.0.0

    展开全文
  • CSS绘制常见的几何图形

    千次阅读 2016-02-02 14:48:34
    题外话在写网页的过程,...4. Canvas就我个人而言,对于一些常见的几何图形. - 图片是不推荐的[太占资源,也不利于维护] - CSS是比较推荐的,精简且方便维护 - SVG也是一个很好的选择[学习成本高一点点] - Canvas看

    题外话

    在写网页的过程,必不可免的会碰到网站需要装饰一些几何图形;
    实现的方式无非四种:

    1. 图片
    2. CSS2.1&3
    3. SVG
    4. Canvas

    就我个人而言,对于一些常见的几何图形.

    • 图片是不推荐的[太占资源,也不利于维护]
    • CSS是比较推荐的,精简且方便维护
    • SVG也是一个很好的选择[学习成本高一点点]
    • Canvas看情况使用

    效果图

    这里写图片描述

    这里写图片描述

    代码

    <!DOCTYPE html>
    <html lang="en">
    
        <head>
            <meta charset="UTF-8">
            <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
            <title>CSS制作几何图形</title>
            <style type="text/css" media="screen">
            .wrapper {
                width: 25%;
                padding: 10x;
                float: left;
                height: 300px;
                text-align: center;
            }
            /*方形没啥好讲的*/
            
            .square {
                width: 200px;
                height: 200px;
                background: #fed3ca;
                box-sizing: border-box;
            }
            /*长方形也没啥好讲的*/
            
            .retangle {
                width: 200px;
                height: 100px;
                background: #2eb7ed;
            }
            /*圆形就用了css3的border-radius*/
            
            .circle {
                height: 200px;
                width: 200px;
                background: #11309B;
                border-radius: 100%;
                /*或者是宽高的一半,因为此处的值是半径*/
            }
            /*半圆这个很简单*/
            
            .semicircle {
                height: 100px;
                width: 200px;
                background: #D65E2A;
                border-radius: 100px 100px 0 0;
            }
            /*
    		椭圆形也是用了border-radius,但是细化到XY轴的半径;
    		最简单的椭圆就是X轴的半径为Y轴的一半,反之亦然
    		*/
            
            .oval {
                width: 200px;
                height: 100px;
                background: #1C951A;
                border-radius: 100px/50px;
                /*X:100px , Y:50px;*/
            }
            /*
    		三角形也挺简单的,利用的是边框实现的
    		  - 宽高为0,因为只需要用到border
    		  - transparent是用来透明化的,border-color是顺时针方向,你想产生什么方向的三角形都可以控制
    		*/
            
            .triangle {
                width: 0;
                height: 0;
                border-width: 50px;
                border-style: solid;
                border-color: #8D0EEE transparent transparent transparent;
            }
            /*梯形的原理其实和三角形大同小异,方向同样可控制
    		*/
            
            .trapezoid {
                width: 200px;
                height: 0;
                border-width: 100px;
                border-style: solid;
                border-color: transparent transparent #6ACFEE transparent;
            }
            /*菱形主要用了CSS3的transform的旋转参数,支持正反方向旋转*/
            
            .diamond {
                width: 100px;
                height: 100px;
                -webkit-transform: rotate(45deg);
                        transform: rotate(45deg);
                background: #0CCEf2;
                margin-left: 90px;
                margin-top: 30px;
            }
            /*月牙这个图形也不难,也只是微调圆的半径和阴影组合而成*/
            
            .moon {
                width: 200px;
                height: 200px;
                border-radius: 50%;
                box-shadow: 15px 15px 0 0 #0F93AA;
            }
            /*叶子这个说白了还是半径的处理*/
            
            .leaf {
                width: 200px;
                height: 200px;
                background: rgba(0, 255, 0, .5);
                box-shadow: 2px 1px 1px rgba(0, 0, 0, .1);
                border-radius: 3px 200px;
                /*两个是参数是代表对角线, X 这个字母的样子*/
            }
            /*书签这个是三角的写法的小小转换*/
            
            .bookmark {
                width: 0;
                height: 200px;
                border-left: 50px solid #A26D14;
                border-right: 50px solid #A26D14;
                border-bottom: 40px solid transparent;
            }
    
    
            /*平行四边形*/
    
            .parallelogram{
            	height:100px;
            	width:200px;
            	background:#13AD6D;
            	-webkit-transform:skew(-20deg);
            	        transform:skew(-20deg);
            }
            </style>
        </head>
    
        <body>
            <div class="wrapper">
                <p>正方形</p>
                <div class="square"></div>
            </div>
            <div class="wrapper">
                <p>长方形</p>
                <div class="retangle"></div>
            </div>
            <div class="wrapper">
                <p>圆形</p>
                <div class="circle"></div>
            </div>
            <div class="wrapper">
                <p>半圆</p>
                <div class="semicircle"></div>
            </div>
            <div class="wrapper">
                <p>椭圆形</p>
                <div class="oval"></div>
            </div>
            <div class="wrapper">
                <p>三角形</p>
                <div class="triangle"></div>
            </div>
            <div class="wrapper">
                <p>梯形</p>
                <div class="trapezoid"></div>
            </div>
            <div class="wrapper">
                <p>菱形</p>
                <div class="diamond"></div>
            </div>
            <div class="wrapper">
                <p>月牙</p>
                <div class="moon"></div>
            </div>
            <div class="wrapper">
                <p>叶子</p>
                <div class="leaf"></div>
            </div>
            <div class="wrapper">
                <p>书签</p>
                <div class="bookmark"></div>
            </div>
            <div class="wrapper">
            	<p>平行四边形</p>
            	<div class="parallelogram"></div>
            </div>
    
        </body>
    
    </html>
    
    

    总结

    其实还有一些几何图形可以画出来.变一个边或者一个圆角,又是另一个图案;

    也可以用CSS3的transform这些来做一些奇形怪状的,比如五角星,六边形等等;

    展开全文
  • <canvas id='canvasBox' width='200' height='200'>canvas> Canvas绘图基本流程: 在canvas容器中绘制图形,需要配合使用javascript脚本,具体如下: <script> // 1.获取canvas容器元素: var canvasBox = ...
  • 数据分析中的可视化-常见图形

    千次阅读 2017-09-08 14:10:35
    工具: matplotlib, pandas import matplotlib.pyplot as plt import pandas as pd ...创建图对象: fig = plt.figure() # 设置figsize参数可以确保图片保存到磁盘时具备一定的大小和纵横比. 创建轴对象:
  • 常见图形格式

    2008-03-12 10:19:10
    我们常用到的图形格式有以下几种: ⑴.BMP――(Bimap) 是Microsoft公司图形文件自身的点位图格式, 支持1~24bit色彩,在保存为这种格式时弹出的对话框会询问用于Windows或是0S/2系统。BMP格式保存的图像质量不变,...
  • 常见图片格式

    2020-06-09 10:40:31
    常见图片格式 jpeg(Joint Photographic Experts Group),jpeg格式的图片常见的后缀名有jpg和jpeg本质上没有区别,将jpg和jpeg格式图片的后缀名互相更改是不会对图片有影响的。是一种有损压缩图片格式 bmp (Bitmap)...
  • 2、常见图形的绘制 3、绘图状态的设置:文字颜色、线宽 4、图形上下文状态的保持、恢复 5、图形上下文 6、矩阵操作 7、quartz 2D 的内存管理 8、图片水印、裁剪以及屏幕的截图一、什么是quartz 2Dquartz 2D是...
  • 常见图片格式大全

    2019-09-18 07:15:29
    本文我们就通过图形文件的特征后缀名(就是如图.bmp这样的)来逐一认识当前常见图形文件格式。 1.BMP:BMP格式是微软公司制定的图形标准,最大的优点就是在PC上兼容度一流,几乎能被所有的图形软件“接受”,可...
  • 常见图片格式分析

    2018-11-23 17:42:40
    做了几年有关图形、图像的工作,对图片格式算是小有经验,在此写成一文章总结下。虽然一开始并不想讲很理论的东西,但写完后发现几乎全是理论,细想一下关于图片格式的知识本身就是理论的东西,囧~~ 那就力求用最...
  • 1.rotate旋转旋转图片,单位deg,为“度”的意思 CSS Code复制内容到剪贴板 -moz-transform: rotate(20deg); -webkit-transform: rotate(20deg); -o-transform: rotate(20deg); -ms-transform: rotate(20deg...
  • 常见图片格式详解

    2019-04-10 09:14:00
    做了几年有关图形、图像的工作,对图片格式算是小有经验,在此写成一文章总结下。虽然一开始并不想讲很理论的东西,但写完后发现几乎全是理论,细想一下关于图片格式的知识本身就是理论的东西,囧~~ 那就力求用最...
  • 图片放进缓存并放大,把放大后的图像像素采样临近2个或4个像素,混合,生成的最终像素,令图形的边缘色彩过渡趋于平滑,最后把图像还原回原来大小。 缺点:很吃性能。 多重采样抗锯齿(Multi Sampling Anti-...
  • 常见图片格式

    2018-10-13 13:30:00
    联合照片专家组(JPRG、Joint Photographic Expert Group) 文件后缀名为“.jpg”或“.jpeg" 特性:有损压缩格式,是可以把文件压缩到最小的格式 使用:适用于互联网,减少图像传输时间,适用于需要连续色调的图形,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 838
精华内容 335
关键字:

常见图形图片