pyx

How to do the astronomical symbol “\sun” in PyX

倖福魔咒の 提交于 2020-01-04 02:12:11
问题 I've been trying to put the astronomical symbol of the sun on a graph using PyX, but so for with no success. The code I have is the following: from pyx import * from pylab import * x=arange(1,5,0.1) y=exp(-(x-3.0)**2/(2.0*0.5**2))/sqrt(2.0*pi*0.5**2) ###################### g=graph.graphxy(width=8,y=graph.axis.linear(title=r"Fraction of DM halos"),x=graph.axis.linear(min=1,title=r"Mass ($10^{11}M_{\sun}$)")) g.plot(graph.data.values(x=x,y=y),styles=[graph.style.histogram()]) g.writeEPSfile(

Python基础(七)

纵饮孤独 提交于 2019-12-30 18:48:47
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 1 模块函数 1.1 模块函数 模块函数指的是模块中的函数,模块函数有三种: 内置模块:又叫标准库. 第三方开源模块:可以通过包管理工具进行安装. 自定义模块. 1.2 导入 导入方法主要有三种: 1.2.1 import moudle import math math.e 1.2.2 import module as alias alias表示别名. 1.2.3 from module import function 从模块导入函数. 1.2.4 from module import function as alias 与上一种类似,加上了别名. 2 自定义函数 2.1 定义函数 使用关键字def定义: def func(): print(1) 2.2 设置docstring docstring就是注释,描述了函数的功能,使用三个单引号或三个双引号,可以用help()获取函数的docstring. def func(): ''' func docstring ''' print(1) help(func) 2.3 函数调用 直接使用函数名即可,需要的话要加上参数. func() func(22) 2.4 返回值 返回值在return里指定,可以返回多个值: def f(): return 1,2,3,4

Python基础(五)

限于喜欢 提交于 2019-12-29 18:09:02
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 1.集合 (1)集合 集合是一种可变的无序的容器. (2)定义 x = {1,2,3} #第一种方法,使用{} x = set([2,4,5]) #第二种方法,使用强制类型转换 (3)特点 A.确定性 类似数学中的集合的确定性,集合描述得很清楚,不存在不能判断一个元素是否在一个集合中,具体来说就是in或not in运算符不会得不到确定的结果. B.无序性 因此不能通过下标访问. subscriptable就是可以通过下标访问的.这里提示"not subscriptable". C.互异性 没有重复元素. D.支持集合运算 包括==,!=,判断子集,真子集,超集,真超集,交集与并集,差集,对称差分. E.可变对象 可以通过add,remove改变集合本身. 另外有不可变集合frozenset: 2.字典 (1)字典 字典是一种可变的无序容器,每个值都有自己对应的键,是一个映射结构,本质上是一个以键为元素的集合. (2)定义 使用{},键与值用:分隔,键值对用逗号分隔. x = {'aa':1,'bb':2,'cc':3} (3)特点 A.可以通过对应的key访问对应的value B.可变对象 (4)用作函数参数 def func(arg1,**arg2): print(arg1) print(arg2) func

Python基础(四)

大兔子大兔子 提交于 2019-12-29 12:25:08
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 1.字符串 (1)定义 可以使用单引号,双引号,三引号定义字符串. x = '123' x = "123" x = '''123''' x = ''' 123 456 ''' 三引号可以跨行使用. (2)特性 python中的字符串是不可变对象: 字符串也属于序列的一种,支持切片操作: (3)转义 转义一般用于单引号,双引号,斜杠等特殊符号. x = '\\123' x = "\"123\"" 对于用单引号引起的字符串,若含有单引号,可以把外面的单引号改成双引号,对于双引号字符串也类似. 另一种可以不用转义的方法是在字符串前加一个r: (4)常用操作 A.插入连接 使用x.join(a)表示把x插入到a中的每个字符中间: B.去除空白 strip(),去除左右空白字符,包括空格,换行,制表符. C.长度 计算字符串长度,len(x): D.unicode编码 ord():计算unicode编码. chr():与ord()相反,解码. 注意参数是一个字符. 2.序列 (1)序列 序列是列表,元组,字符串等元素之间具有顺序关系的数据类型的统称,不是一个独立的数据类型. (2)特点 A.索引 可以通过索引来获取元素的值: B.切片 形式为: [start:end:step] start为起始位置,包含

Python基础(三)

≡放荡痞女 提交于 2019-12-29 02:45:48
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 1.list list是一种可变的有序容器,每个元素都拥有自己的下标.列表使用[]定义. (1)定义方法 x = [1,2,3] #第一种,使用[] y = x #第二种,赋值 y = list({1,2,3}) #第三种,使用强制转换函数 (2)下标 下标从0开始,允许负数作为下标,最后一个元素的下标为-1,第一个元素的下标为-n,第i个元素的下标为(i-1)或-(n-i+1). (3)切片 设x是一个列表,则 x[start:end:step] 为列表的一个切片,start为起始位置,包含,可以省略,end为结束位置,不包含,可以省略,step为步长,可以省略,默认为1. 三者都可以为负数. 三者都省略时为整个列表,反向遍历时可以省略start与end,步长设为-1: (4)反向遍历 反向遍历有三种方法: A.[::-1] 使用切片,像上面一样,步长设为-1 B.使用内置函数reversed() reversed()会返回一个迭代器,想要获取里面的内容可以转换为list(). C.使用列表方法.reverse() 前两种方法不会改变列表,列表方法reverse()改变了列表. (5)列表推导式 列表推导式可用于快速生成有规律性的列表,比如生成包含10个2的列表: [2 for i in range(10)]

Fail to install PyX using Anaconda

那年仲夏 提交于 2019-12-11 10:19:12
问题 I'm having problems installing python modules PyX, I received the following error when using pip: $ pip install PyX Collecting PyX Could not find a version that satisfies the requirement PyX (from versions: ) Some externally hosted files were ignored as access to them may be unreliable (use --allow-external PyX to allow). No matching distribution found for PyX Then I tried conda install, but it cannot locate it. I also searched and found nothing. Then I tried pip allow external - doesn't work

python与c/c++相互调用

左心房为你撑大大i 提交于 2019-12-09 20:16:05
例一:ctypes pycall.c /***gcc -o libpycall.so -shared -fPIC pycall.c*/ #include <stdio.h> #include <stdlib.h> int foo(int a, int b) { printf("you input %d and %d\n", a, b); return a+b; } pycall.py import ctypes ll = ctypes.cdll.LoadLibrary lib = ll("./libpycall.so") res= lib.foo(1, 3) print ('Result=' ,res) 运行 $ gcc -o libpycall.so -shared -fPIC pycall.c $ python3 pycall.py you input 1 and 3 Result= 4 例子二 sumtest.c /* * gcc -c -fPIC sumtest.c * * gcc -shared -fPIC -o sumtest.so sumtest.o * */ double mysum(double a[], long n){ double sum = 0; int i; for(i=0;i<n;i++) sum += a[i]; return sum; }

Python PyX plot: change axes tick text color

拜拜、爱过 提交于 2019-12-08 07:06:49
问题 I have plot in PyX in python g = graph.graphxy(width=8, x=graph.axis.log(min=1e-1, max=1e4, title=r"$x$-axis"), y=graph.axis.lin(max=5, title=r"$y$-axis")) g.plot(graph.data.function("y(x)=tan(log(1/x))**2")) g.writeEPSfile("axis") How to keep ticks in black, but change color of tick text (i.e. the numbers 0, 1, 2, 3, 4, 5 on y-axis ) to white? Or, even better. How to remove the tick text (i.e. the numbers 0, 1, 2, 3, 4, 5 on y-axis ) but keep the tick marks ? 回答1: To alter the text styling

Inserting a unicode text into pyx canvas

可紊 提交于 2019-12-08 03:59:36
问题 I have a set of UTF-8 characters that I would like to insert into a PyX generated pdf file. I have included # -*- coding: utf-8 -*- to top of the file. The code is somewhat similar to the following: # -*- coding: utf-8 -*- c = canvas.canvas() txt = "u'aあä'" c.text(2, 2, "ID: %s"%txt) c.writeEPSfile("filename.eps") But I still can't get my head around this. Error: 'ascii' codec can't encode character u'\xae' in position 47: ordinal not in range(128) 回答1: Try this: # -*- coding: utf-8 -*- c =

Drawing braces with Pyx

一曲冷凌霜 提交于 2019-12-05 02:07:53
问题 How can I draw a “braced” line between two arbitrary points with Pyx? It would look something like this: Brace example http://tof.canardpc.com/view/d16770a8-0fc6-4e9d-b43c-a11eaa09304d 回答1: You can draw pretty braces using sigmoidals. I don't have Pyx installed so I'll just plot these using matplotlib (pylab here). Here beta controls the sharpness of the curves in the braces. import numpy as nx import pylab as px def half_brace(x, beta): x0, x1 = x[0], x[-1] y = 1/(1.+nx.exp(-1*beta*(x-x0)))