Recently need to generate a PNG image of the data graph directly on the server, I know the client's solution is many, such as: Highchart, Amcharts, JS Charts, Graphael, Aweasome Chart js, D3 and so on can list hundreds of kinds, JavaScript is required to run the environment, but my need is to directly generate PNG images, and then sent through the mail ah what to send out. That is, you must draw the data graph on the server side, generate PNG images.
Currently the server side of the drawing, PHP language, there are a few are not free: jpgraph, Pchart, including the generation of HTML Phpchart also need to pay. The PHP package of Google Chart API is actually a direct request to Google Server, and then return data, for the speed of the impact. Some other PHP free such as: Libchart, Graphpite, EZ components of the graph library, the effect is not good, the drawing is not smooth enough, the function is relatively small.
Basically PHP's solutions are not very good.
In other languages, I know Python has a matplot library, but I don't know python syntax, and I'm not sure how.
There is also the R language can be plotted, but R smattering, do not know how the drawing effect.
Professional-grade drawings such as: MetaPost, asymptote All need a very large texlive support, has not wanted to toss this on the server.
Now I use Phplot, a PHP drawing library, the basic requirements can be met, but the drawing control can not be very handy, the function is also deficient, the resulting image quality is not high. Write a lot, is because I asked before, has been Google for several days, there is no good solution, so only to ask.
Do you have any experience with server-side generation of high-quality chart images? What are the solutions that people have adopted?
Reply content:
Recently need to generate a PNG image of the data graph directly on the server, I know the client's solution is many, such as: Highchart, Amcharts, JS Charts, Graphael, Aweasome Chart js, D3 and so on can list hundreds of kinds, JavaScript is required to run the environment, but my need is to directly generate PNG images, and then sent through the mail ah what to send out. That is, you must draw the data graph on the server side, generate PNG images.
Currently the server side of the drawing, PHP language, there are a few are not free: jpgraph, Pchart, including the generation of HTML Phpchart also need to pay. The PHP package of Google Chart API is actually a direct request to Google Server, and then return data, for the speed of the impact. Some other PHP free such as: Libchart, Graphpite, EZ components of the graph library, the effect is not good, the drawing is not smooth enough, the function is relatively small.
Basically PHP's solutions are not very good.
In other languages, I know Python has a matplot library, but I don't know python syntax, and I'm not sure how.
There is also the R language can be plotted, but R smattering, do not know how the drawing effect.
Professional-grade drawings such as: MetaPost, asymptote All need a very large texlive support, has not wanted to toss this on the server.
Now I use Phplot, a PHP drawing library, the basic requirements can be met, but the drawing control can not be very handy, the function is also deficient, the resulting image quality is not high. Write a lot, is because I asked before, has been Google for several days, there is no good solution, so only to ask.
Do you have any experience with server-side generation of high-quality chart images? What are the solutions that people have adopted?
Can be disguised through the Web page to achieve the ... phantom simulation intercepts a dynamically generated HTML, the speed is very fast, but also can use all the advanced features of JS. Out of the picture can be sent back to PHP by pipe (exec will be able to receive)
Highchart don't have a exporting function? Getting PNG with curl is no good.
The above methods seem to have no good protection on performance and stability, I also have the need to wait for the method.
Wkhtmltopdf Use this to convert a webpage to a picture or PDF.
Phpexecel