Graphing Multiple 3D Graph Types with Spherical Data Points

I have data points that are in theta, phi and r (magnatude) that I would like to be able to 3D plot and change the text/contour to either wireframe or contoured or points on the fly.  I believe this is possible however, after looking at the NI examples, they are all done with xyz coordinates and have yet to see a 3D graph with spherical (NI, take this as a suggestion ).
Over a year ago, I was able to create data in spherical by giving it 3 1D arrays, but it only plotted it in the form of point or line.  The examples that have a torus use parametric plots?! although I am not entirely sure I understand how it works nor how to convert to it from spherical.
Attached is a sample input file/array.  Wanted to see if anyone had experience using the built in 3D libraries (CW 3D Graph
8.0) to achieve something similar.
Note: the Amplitude column is absolute and could be made positive for ease of use as well.
Thanks
Attachments:
example.txt ‏47 KB

I'm just trying the following in the main loop to get something to graph, and nothing is showing up but this error - 80020009
static int panelHandle;
static CAObjHandle gGraph;
//==============================================================================
// Static functions
//==============================================================================
// Global variables
//==============================================================================
// Global functions
/// HIFN The main entry-point function.
int main (int argc, char *argv[])
int error = 0;
VARIANT xVt, yVt, zVt;
HRESULT hr;
int i,j;
char errCode[100];
double xData[50], yData[50], zData[50][50];
/* initialize and load resources */
nullChk (InitCVIRTE (0, argv, 0));
errChk (panelHandle = LoadPanel (0, "3D Analysis.uir", PANEL));
/* display the panel and run the user interface */
errChk (DisplayPanel (panelHandle));
CA_VariantSetEmpty(&xVt);
CA_VariantSetEmpty(&yVt);
CA_VariantSetEmpty(&zVt);
for (i = 0; i < 50; i++) {
xData[i] = yData[i] = i;
for (j = 0; j < 50; j++) {
zData[i][j] = i*j;
GetObjHandleFromActiveXCtrl(panelHandle, PANEL_CWGRAPH3D, &gGraph);
errChk (CA_VariantSet1DArray(&xVt,CAVT_DOUBLE, 50, xData));
errChk (CA_VariantSet1DArray(&yVt,CAVT_DOUBLE, 50, yData));
errChk (CA_VariantSet2DArray(&xVt,CAVT_DOUBLE, 50,50,zData));
errChk (CW3DGraphLib__DCWGraph3DPlot3DSurface(gGraph, NULL,xVt,yVt,zVt, CA_DEFAULT_VAL));
//errChk (CW3DGraphLib_CWPlot3DPlot3DSurface (gGraph, NULL, xVt, yVt, zVt, CA_DEFAULT_VAL));
errChk (RunUserInterface ());
Error:
/* clean up */
sprintf(errCode,"%X",error);
MessagePopup("",errCode);
CA_VariantSetEmpty(&xVt);
CA_VariantSetEmpty(&yVt);
CA_VariantSetEmpty(&zVt);
CA_DiscardObjHandle(gGraph);
DiscardPanel (panelHandle);
return 0;
At this point, I am just trying to figure out which function to call and what to set the input Variants.  Seems somethings they are 1D and sometimes they are 2D.  Unfortunately the documentation is very slim and doesn't explain what the actual functions or variants represent.

Similar Messages

  • Plotting multiple graphs on one waveform chart with dynamic data types

    I'm trying to put multiple graphs on one waveform chart and having data agreement errors. I'm wondering if it has anything to do with the fact that dynamic data is being used (I've had no problems with other datatypes in the past). Does anyone know how to correct this problem? I've attached the following .VI. There will be plenty of .VIs on the bottom that won't load, but they are not consequential for this problem.
    Thanks!
    Brian
    Solved!
    Go to Solution.
    Attachments:
    Stiffness Control V1.vi ‏119 KB

    you could use stacked plots by right clicking on the chart and clicking on the stacked plots and than on the front panek you can put a bundle function on the FP and hook your signals up
    Harold Timmis
    [email protected]
    Orlando,Fl
    *Kudos always welcome
    Attachments:
    multiplotwaveform.JPG ‏138 KB

  • Color Highlights not working in bar chart with two data points

    Iu2019m using Crystal Reports 2011.  I have created a bar graph using two data fields in the Chart Expert.  I have set the colors for the bars in the Color Highlights tab, but the colors that I have defined have not been applied to the graph.  
    I have tried changing the colors numerous times and have done it in both design and preview modes.  It seems to be somethign with having two data points because I don't have this problem when using just one data point.  Please help!

    is the colour mode Color by group or color by series

  • LineChart data tip won't display with single data point?

    Hi,
    I have a Flex 3 LineChart with LineSeries which use CircleItemRenderer. If there is only a single data point to display, the data tip is not displayed. If there are several data points, each data tip is displayed correctly.
    How can I make the datatip appear correctly with even just one data point? Any workarounds for this problem?
    Quick googling found that I'm not the only person with this problem. A suggested workaround is to use PlotChart instead, but I don't want to go there unless there is absolutely no good way to solve this problem directly.
    http://www.pubbs.net/200911/flex/28102-flexcoders-line-chart-data-tips-dont-display-when-t heres-a-single-data-point.html
    Thanks for any clues!!
    BR,http://forums.adobe.com/people/sikkfgkwwsdfkjkjwjfhjdskj
    sikkfgkwwsdfkjkjwjfhjdskj

    No one wanted to help me but I figured out that I was not referencing the DSN on the test server, only the local DSN. 
    The information to connect to the MSSQL database given by my hosting company was not correct for Dreameweaver (or MS Access) either.

  • How do I create multiple-up pages populated with variable data?

    I am trying to create a variable data Illustrator file but with a catch, I have to create multiple points of data on one artboard.  I am using a template with 36 identical shapes, and I'm trying to add a different image to each based off of using variable data.  I understand the premise of creating multiple output files based off of an illustrator file and data, but I have to create a single output file using 36 points of data, all QR codes.  The reason is that this 36-up 14.5" x 14.5" sheet will be printed on a large format inkjet and then be fed into another machine (not a cutter) that requires that specific layout for it's process.  I cannot create individual files, I need sheets based off of my 14.5" x 14.5" 36-up template.
    Any suggestions other than making each shape in the template a separate variable (even though they are all the exact same shape) would be greatly appreciated.
    My goal is to populate each of these shapes with a different QR code and then output the whole sheet as a single .EPS or .PDF file.

    My goal is to populate each of these shapes with a different QR code and then output the whole sheet as a single .EPS or .PDF file.
    You're barking up the wrong tree for this with Illustrator's Variables palette.
    Think of it like this:
    Imagine a typical spreadsheet with multiple rows of the same kind of data, except for the first row which serves as the "labels" of the columns.
    The on-page objects which you define as Variables in Illustrator correspond to the first row; the column labels.
    The datasets correspond to the following rows of values below the label row.
    Cycling through the datasets simply moves up and down the rows, revealing one row's data at a time for each of the column labels.
    Your multi-up array does not fit that data model. You are essentially trying to make a layout showing all the individual cells below the single label of one column (downward across all rows). (Illustrator's Variables feature doesn't even let you put multiple instances of a single variable in the document, so that the same value occurs in multiple places.)
    You're trying to build the functional equivalent of a typical "gang up" press sheet, like a 10-up layout of business cards, each showing the same kind of data (name, phone, etc.) for multiple employees, so that you don't have to do separate press runs for each employee. That's certainly a common need, and one quite appropriate to a program like Illustrator. But Illustrator's Variables feature does not do that.
    Essentially, what you are wanting to do is to replicate the basic functionality of any program which is used to print labels from data (like the typical mail merge function for address labels which are ganged up with some number of different labels on a page). What you want could be done in Illustrator via a custom JavaScript, but it would be a pretty silly exercise in reinventing the wheel. If it were me, I'd probably build the solution in FileMaker Pro (a database program), depending on the specific graphics requirements. However, you should be able to do it in InDesign, using its data merge feature.
    JET

  • I received 3 restore reports on Firefox Document type with strange dates in my desktop. What does it mean and what do I do.

    These restore reports appeared as shortcuts when I turned the computer on while some shortcuts I had disappeared.

    Maybe your security software (anti-virus, firewall) is blocking Firefox.
    Did you look in the settings there?
    See also [[Firewalls]] and http://kb.mozillazine.org/Firewalls

  • How to update multi-handle graph with a new set of data points

    I have multiple sets of data that all have the same number of columns but different numbers of rows. Each column is plotted on a graph. I want to keep the format of the original graph with the same number of handles, and update each handle with new data points by bringing in a new set of points.
    See attachment for example.
    Attachments:
    hiqgraph.HiQ ‏14 KB

    There are several ways to do this.
    1. You can create a HiQ script that plots the new data to the graph using the existing plots. The following three lines plot the new data into the three existing plots (indicated by the plot handles.) Put these lines into a HiQ script object, right-click and select Run.
    addplot(Graph2D_1,-1,data2[*,1],data2[*,2]);
    addplot(Graph2D_1,-2,data2[*,1],data2[*,3]);
    addplot(Graph2D_1,-3,data2[*,1],data2[*,4]);
    2. You can do it interactively by right-clicking on the individual plots and choosing Change... This will being up a dialog you can use to change the data in that plot. This will be difficult to do when plots are right on top of each other, so you may want to display the plot legend, where you can also right-click a
    nd select Change...
    3. I like your idea about DataSocket. This way it will happen automatically. Whenever the matrix published to DataSocket changes, the plot should automatically update.
    I hope this helps.
    David

  • Call library function node with array of clusters using array data pointer

    Hello all.
    I am writing a LabVIEW wrapper for an existing DLL function.
    The function has, as one of its parameters, an array of structs.  The struct is very simple, containing two integers.  I am using the call library function node to access it.
    In Labview I created an array of clusters, where the cluster has two 32-bit integers as its members.  So far, so good.
    Now I have to pass this in to the Call Library Function Node.  Here I am running into trouble.
    I have used The topic in LAVA and The topic in the knowledge base as my primary sources of information, though I have read a bunch of forum topics on the subject too.
    I do understand that I could write a new function which takes as a parameter a struct with the size as the first member and an array as the second, and I might just do this and have it call the regular function, but I was hoping to do it more simply.
    According to the C file which LabVIEW generates for me from the CLFN when I choose "Adapt to Type" and "Array Data Pointer", the prototype it is expecting is:
    int32_t myFunc(uint32_t handle, uint16_t channel,
    int32_t FIFOnumber, void data[], int32_t numWords, int32_t *actualLoaded,
    int32_t *actualStartIndex);
    And the prototype of the function in my DLL is
    int borland_dll myFunc(DWORD handle, usint channel,
    int FIFOnumber, struct mStruct *data, int numWords, int *actualLoaded, int *actualStartIndex);
    This looks like a match to me, but it doesn't work (I get garbage in data).  From the topic in LAVA referenced above, I understood that it would work.  It does not.
    If I cast data to the pointer-to-pointer I get when I generate c code by wiring my struct to a CIN and generating, then I seem to get what I expect. But this seems to work when I choose "pointers to handles" too, and I would expect array data pointer to give a different result.
    Is there any way to get this to work directly, or will I have to create a wrapper?  (I am currently using LabVIEW 2011, but we have customers using 2009 and 2012, if not other versions as well).
    Thank you.
    Batya
    Solved!
    Go to Solution.

    OK, here is more detailed information.
    I have attached the VI.
    This is the code from the  "C" file created by right-clicking the CLN and creating a "C" file. 
    When the parameter in the CLN is set to "array data pointer":
    /* Call Library source file */
    #include "extcode.h"
    int32_t Load_Transmit_FIFO_RTx(uint32_t handle, uint16_t channel,
    int32_t FIFOnumber, void data[], int32_t numWords, int32_t *actualLoaded,
    int32_t *actualStartIndex);
    int32_t Load_Transmit_FIFO_RTx(uint32_t handle, uint16_t channel,
    int32_t FIFOnumber, void data[], int32_t numWords, int32_t *actualLoaded,
    int32_t *actualStartIndex)
    /* Insert code here */
     When the parameter is "pointers to handles":
    /* Call Library source file */
    #include "extcode.h"
    /* lv_prolog.h and lv_epilog.h set up the correct alignment for LabVIEW data. */
    #include "lv_prolog.h"
    /* Typedefs */
    typedef struct {
    int32_t control;
    int32_t data;
    } TD2;
    typedef struct {
    int32_t dimSize;
    TD2 data[1];
    } TD1;
    typedef TD1 **TD1Hdl;
    #include "lv_epilog.h"
    int32_t Load_Transmit_FIFO_RTx(uint32_t handle, uint16_t channel,
    int32_t FIFOnumber, TD1Hdl *data, int32_t numWords, int32_t *actualLoaded,
    int32_t *actualStartIndex);
    int32_t Load_Transmit_FIFO_RTx(uint32_t handle, uint16_t channel,
    int32_t FIFOnumber, TD1Hdl *data, int32_t numWords, int32_t *actualLoaded,
    int32_t *actualStartIndex)
    /* Insert code here */
     When the parameter is set to "handles by value":
    /* Call Library source file */
    #include "extcode.h"
    /* lv_prolog.h and lv_epilog.h set up the correct alignment for LabVIEW data. */
    #include "lv_prolog.h"
    /* Typedefs */
    typedef struct {
    int32_t control;
    int32_t data;
    } TD2;
    typedef struct {
    int32_t dimSize;
    TD2 data[1];
    } TD1;
    typedef TD1 **TD1Hdl;
    #include "lv_epilog.h"
    int32_t Load_Transmit_FIFO_RTx(uint32_t handle, uint16_t channel,
    int32_t FIFOnumber, TD1Hdl *data, int32_t numWords, int32_t *actualLoaded,
    int32_t *actualStartIndex);
    int32_t Load_Transmit_FIFO_RTx(uint32_t handle, uint16_t channel,
    int32_t FIFOnumber, TD1Hdl *data, int32_t numWords, int32_t *actualLoaded,
    int32_t *actualStartIndex)
    /* Insert code here */
    As to the DLL function, it is a bit more complicated than I explained above, in the current case.  My VI calls the function by this name in one DLL, and that DLL loads a DLL and calls a function (with the same name) in the second DLL, which does the work. (Thanks Rolfk, for helping me with that one some time back!)
    Here is the code in the first ("dispatcher") DLL:
    int borland_dll Load_Transmit_FIFO_RTx(DWORD handle, usint channel, int FIFOnumber, struct FIFO_DATA_CONTROL *data, int numWords, int *actualLoaded, int *actualStartIndex)
    t_DispatchTable *pDispatchTable = (t_DispatchTable *) handle;
    int retStat = 0;
    retStat = mCheckDispatchTable(pDispatchTable);
    if (retStat < 0)
    return retStat;
    if (pDispatchTable->pLoad_Transmit_FIFO_RTx == NULL)
    return edispatchercantfindfunction;
    return pDispatchTable->pLoad_Transmit_FIFO_RTx(pDispatchT​able->handlertx, channel, FIFOnumber, data, numWords, actualLoaded, actualStartIndex);
    borland_dll is just "__declspec(dllexport)"
    The current code in the DLL that does the work is:
    // TEMP
    typedef struct {
    int control;
    int data;
    } TD2;
    typedef struct {
    int dimSize;
    TD2 data[1];
    } TD1;
    typedef TD1 **TD1Hdl;
    // END TEMP
    int borland_dll Load_Transmit_FIFO_RTx(int handlertx, usint channel, int FIFOnumber, struct FIFO_DATA_CONTROL *data, int numWords, int *actualLoaded, int *actualStartIndex){
    struct TRANSMIT_FIFO *ptxFIFO; //pointer to transmit FIFO structure
    usint *pFIFOlist; //pointer to array of FIFO pointers to FIFO structures
    int FIFOentry, numLoaded;
    usint *lclData;
    usint nextEntryToTransmit;
    // TEMP
    FILE *pFile;
    int i;
    TD1** ppTD = (TD1**) data;
    TD1 *pTD = *ppTD;
    pFile = fopen("LoadFIFOLog.txt", "w");
    fprintf(pFile, "Starting Load FIFO with %d data words, data pointer 0x%x, with the following data&colon; \n", numWords, data);
    for (i = 0; i < numWords; i++) {
    fprintf(pFile, "%d: control--0x%x, data--0x%x \n", i, data[i].control, data[i].data);
    fflush(pFile);
    fprintf(pFile, "OK, using CIN generated structures: dimSize %d, with the following data&colon; \n", pTD->dimSize);
    for (i = 0; i < numWords; i++) {
    fprintf(pFile, "%d: control--0x%x, data--0x%x \n", i, pTD->data[i].control, pTD->data[i].data);
    fflush(pFile);
    // END TEMP
    if ((handlertx) <0 || (handlertx >= NUMCARDS)) return ebadhandle;
    if (cardrtx[handlertx].allocated != 1) return ebadhandle;
    pFIFOlist = (usint *) (cardrtx[handlertx].segaddr + cardrtx[handlertx].glob->dpchn[channel].tr_stk_ptr​);
    pFIFOlist += FIFOnumber;
    ptxFIFO = (struct TRANSMIT_FIFO *)(cardrtx[handlertx].segaddr + *pFIFOlist);
    //use local copy of ptxFIFO->nextEntryToTransmit to simplify algorithm
    nextEntryToTransmit = ptxFIFO->nextEntryToTransmit;
    //on entering this routine nextEntryToLoad is set to the entry following the last entry loaded
    //this is what we need to load now unless it's at the end of the FIFO in which case we need to wrap around
    if ( ptxFIFO->nextEntryToLoad >= ptxFIFO->numEntries)
    *actualStartIndex = 0;
    else
    *actualStartIndex = ptxFIFO->nextEntryToLoad;
    //if nextEntryToLoad points to the last entry in the FIFO and nextEntryToTransmit points to the first, the FIFO is full
    //also if nextEntryToLoad == nextEntryToTransmit the FIFO is full and we exit without loading anything
    if (( (( ptxFIFO->nextEntryToLoad >= ptxFIFO->numEntries) && (nextEntryToTransmit == 0)) ||
    ( ptxFIFO->nextEntryToLoad == nextEntryToTransmit)) && (ptxFIFO->nextEntryToLoad != INITIAL_ENTRY)){
    *actualLoaded = 0; //FIFO is full already, we can't add anything
    return 0; //this is not a failure, we just have nothing to do, this is indicated in actualLoaded
    numLoaded = 0;
    lclData = (usint *)data; //must use 16 bit writes to the module
    //conditions are dealt with inside the for loop rather than in the for statement itself
    for (FIFOentry = *actualStartIndex; ; FIFOentry++) {
    //if we reached the end of the FIFO
    //if the module is about to transmit the first element of the FIFO, the FIFO is full and we're done
    //OR if the module is about to transmit the element we're about to fill in, we're done - the
    //exception is if this is the first element we're filling in which means the FIFO is empty
    if ((( FIFOentry >= ptxFIFO->numEntries) && (nextEntryToTransmit == 0)) ||
    ((FIFOentry == nextEntryToTransmit) && (FIFOentry != *actualStartIndex) )){
    *actualLoaded = numLoaded;
    //set nextEntryToLoad to the end of the FIFO, we'll set it to the beginning next time
    //this allows us to distinguish between full and empty: nextEntryToLoad == nextEntryToTransmit means empty
    ptxFIFO->nextEntryToLoad = FIFOentry;
    return 0;
    //we reached the end but can continue loading from the top of the FIFO
    if ( FIFOentry >= ptxFIFO->numEntries)
    FIFOentry = 0;
    //load the control word
    ptxFIFO->FifoData[FIFOentry * 3] = *lclData++;
    //skip the high of the control word, the module only has a 16 bit field for control
    lclData++;
    //now put in the data
    ptxFIFO->FifoData[(FIFOentry * 3) + 2] = *lclData++;
    ptxFIFO->FifoData[(FIFOentry * 3) + 1] = *lclData++;
    numLoaded++;
    //we're done because we loaded everything the user asked for
    if (numLoaded >= numWords) {
    *actualLoaded = numLoaded;
    ptxFIFO->nextEntryToLoad = FIFOentry+1;
    return 0;
    //if we reached here, we're done because the FIFO is full
    *actualLoaded = numLoaded;
    ptxFIFO->nextEntryToLoad = FIFOentry;
    fclose (pFile);
    return 0;
     As you can see, I added a temporary diagnostic with the structures that were created in the "Handles by value" case, and print out the data.  I see what is expected, whichever of the options I pick in the CLN!  
    I understood (from the information in the two links I mentioned in my original post, and from the name of the option itself) that "array data pointer" should pass the array of data itself, without the dimSize field.  But that does not seem to be what is happening.
    Batya
    Attachments:
    ExcM4k Load Transmit FIFO.vi ‏15 KB

  • Cfchart CFmx8 charting points with no data

    We are having a problem with <cfchart> in CF 8. It
    worked fine in CF7.02 with all hotfixes installed. Basically it
    plots points where there is no data. some lines have data for 15
    points and some for maybe only 13 or 14 points. It fills in teh
    missing points with data from the last point that had data.
    Notice the last three lines on this chart. At the end of the
    line--- where the line goes straight across it is charting data
    that doesn't exist.
    http://www.bikersites.com/SL/raceSL/secondsbehind.cfm?RHID=31:1
    This gets to be a real problem when you look at the following
    chart. It gives the races lap times for laps they never completed.
    http://www.bikersites.com/SL/raceSL/laptimes.cfm?RHID=31:1
    Any ideas? Anyone else having this problem?
    This works fine on our development server which had CF7. But
    at hostmysite they have cf8.

    Having same problem here, with CF9.  I have 5 monthly data points for Jan-May 2012.  But CFCHART will extend the LINE in the line chart for the June - December 2012 with all ZEROs.  This only happens when I'm plotting multiple series, for example if I add a CFCHARTSERIES for all 12 months in 2011. 
    If I remove 2011, CFCHART only displays the 5 monthly data points for 2012.  I'm using two CFQUERIES (Q of Q), one with 12 monthly data points for 2011, and one with 5 data points for 2012 year-to-date.  Individually (with 1 CFCHARTSERIES) they plot fine.  But when you have TWO CFCHARTSERIES, the 2012 extends the 2012 line with all ZEROs for June-Dec 2012.  So you don't get a good year-over-year chart, and I need one that scales, since all the values are between 90% and 100%.  Thanks for any help/advice.
    Gary

  • How to build a array with collected data

    Hi,
    I have collected data from serial port with VISA. Now I want to build a array with 100 date points. Should I connect VISA Read with Build Array directly? How to do it?
    PS: All of them are in a While Structure.
    Thank you!

    An inefficient way to create the array is to use the build array and a shift register as shown below. It's more effecient in terms of memory management to create the array and then use the replace array subset as shown in the other image. Of course, if you don't need the array inside the loop, just wire the value out of the while loop and on the exit tunnel, right click and select 'Enable Indexing'.
    Message Edited by Dennis Knutson on 07-03-2007 10:25 PM
    Message Edited by Dennis Knutson on 07-03-2007 10:26 PM
    Attachments:
    Crude Build Array.PNG ‏4 KB
    Better Build Array.PNG ‏6 KB

  • Cant add more data points to numbers chart

    I have a 2 axis 2D graph. I would guess i have about 150 data points along the y axis for both lines on the chart. I have been updating the chart each week no probem with new data points. However today, i can only seem to add a few more points - when i try to add past a certain amount of data points, the last 20 or so data points are removed from the series?
    It simply will not allow me to add more data?
    Any help on this matter would be greatly appreciated as the charts are for use in my business

    Hi Jerrold, thanks for the reply.
    I dont have category labels. I have a 2 axis 2D chart, with a line series and an area series on the chart. I add new data to the chart each week by clicking on either the line or the area series on the chart, then going to my data table beside the chart, and by holding apple command button and clicking on the relevant cells to add to the charts. As of this weeks adding, it starts of as usual, adding the cells to the line and area series, and thus adding data onto the existing chart and extending it out to the right, as it normally would. However, i can only add a certain amount of new cells (data points) to either the line or area series. When i go to add more, a very strange thing happens. The series switches from all the cells that are highlighted blue, to another table i have on the same document??? If i look at the Inspector in the Data box under the series tab, the data goes from the typical 'Table 1 :: D18', (highlighted in blue, to the following weird data point : 'D38,SFTGlobalID_CB7D88F601784CAC8DD283ECA59CFB41 :'
    Its worth noting that although i an working on a brand new macbook pro, numbers has crashed on me a number of times when adding large amounts of data to the chart The table has 1,120 rows, and 11 columns. Only 1 in every 5 or so rows are plotted (on y axis), so roughly 200 or so data points for both line and area chart are plotted. And only 1 column is used for each chart. Thus i have 11 charts on the one numbers document. Is it a case of too much for numbers to handle?
    I have just deleted all the y axis data for the area series for one chart, and added all the data from the whole table again, (rather than just adding this weeks to last weeks, which is where i saw the problem in the first place) to see if it made a difference. But none. Once i got to a certain point, if i add one more cell data point to the chart, the exact same thing happened as above - the highlighted data switched from what i had been highlighting the whole way down the table, to an entirely different table in the same workbook.
    Any ideas would be greatly appreciated.

  • Add Tooltip to Data Point

    Hi,
    I was wondering is it possible to add a Tooltip containing text (not the (X,Y) values) to a datapoint. I'm using VS2010.

    This example uses a structure to associate a text string with each data point.
    Imports System.Windows.Forms.DataVisualization.Charting
    Public Class Form2
    Structure myData
    Public y As Single
    Public text As String
    End Structure
    Private MyDataList As New List(Of myData)
    Private Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    Dim d As myData
    For i = 1 To 12
    d.y = 5 * Math.Sin(i / 2)
    d.text = "Text Data: " & i.ToString
    MyDataList.Add(d)
    Next
    Label1.Text = "Select a Point"
    'setup the chart
    With Chart1.ChartAreas(0)
    .AxisX.Title = "Time"
    .AxisX.MajorGrid.LineColor = Color.LightBlue
    .AxisX.Minimum = 0
    .AxisX.Maximum = 14
    .AxisX.Interval = 2
    .AxisX.LabelStyle.IsEndLabelVisible = False
    .AxisY.Title = "Value"
    .AxisY.MajorGrid.LineColor = Color.LightGray
    .AxisY.Minimum = -6
    .AxisY.Maximum = 6
    .AxisY.Interval = 2
    .BackColor = Color.AntiqueWhite
    .BackSecondaryColor = Color.White
    .BackGradientStyle = GradientStyle.HorizontalCenter
    .BorderColor = Color.Blue
    .BorderDashStyle = ChartDashStyle.Solid
    .BorderWidth = 1
    .ShadowOffset = 2
    End With
    Chart1.Series.Clear()
    Chart1.Series.Add("Monthy Data")
    With Chart1.Series(0)
    .ChartType = DataVisualization.Charting.SeriesChartType.Line
    .BorderWidth = 2
    .Color = Color.Blue
    .MarkerStyle = DataVisualization.Charting.MarkerStyle.Circle
    .MarkerSize = 8
    .IsVisibleInLegend = False
    For m = 1 To 12
    .Points.AddXY(m, MyDataList(m - 1).y)
    Next
    End With
    End Sub
    Private Sub Chart1_MouseDown(sender As Object, e As MouseEventArgs) Handles Chart1.MouseDown
    Dim result As HitTestResult = Chart1.HitTest(e.X, e.Y)
    If result.ChartElementType = ChartElementType.DataPoint Then
    Chart1.Series(0).Points(result.PointIndex).XValue.ToString()
    Label1.Text = MyDataList(result.PointIndex).text
    Else
    If result.ChartElementType <> ChartElementType.Nothing Then
    Dim elementType As String = result.ChartElementType.ToString()
    Label1.Text = "Selected Element is: " & elementType
    End If
    End If
    End Sub
    Private Sub Chart1_MouseMove(sender As Object, e As MouseEventArgs) Handles Chart1.MouseMove
    Dim result As HitTestResult = Chart1.HitTest(e.X, e.Y)
    ' If a Data Point or a Legend item is selected.
    If result.ChartElementType = ChartElementType.DataPoint Or result.ChartElementType = ChartElementType.LegendItem Then
    ' Set cursor type
    Me.Cursor = Cursors.Hand
    Else
    If result.ChartElementType <> ChartElementType.Nothing And result.ChartElementType <> ChartElementType.PlottingArea Then
    ' Set cursor type
    Me.Cursor = Cursors.Hand
    Else
    ' Set default cursor
    Me.Cursor = Cursors.Default
    End If
    End If
    End Sub
    End Class

  • UR/MR Redemption Value, Data Points please!

    While considering the merits of a CSP or EDP card, we are often faced with an "average cpp" for each point system.  The general consensus is that a UR point is worth 2.4 cpp while an MR point is worth 1.8 cpp.  I am hoping that people with experience with each program can enlighten me on the method of calculation of a point.  When calculating your average cpp (cents per point), do you calculate it against the FULL PRICE ticket quoted by the airline, or do you peruse sites like Hotwire, Kayak, Skiplagged, Orbitz, etc. and calculate the cost of your flight using the cost in points vs the price on a common travel site? Consider this scenario: You are looking to book a one-way, domestic flight on your favorite airline.  United quotes you at $300, but you have the option to purchase with 15,000 points.  However, Orbitz has the same flight for $200, plus Discover deals gives you 10% back, bringing the total cost of your flight down to $180. The question I'm posing is: when cashing in your points would is this a realistic scenario, or do airlines generally charge similar prices to travel sites?  Would you consider the points to be valued at 2 cpp in this scenario or would you consider the points to be valued at 1.2 cpp?  From what I can tell, travel sites are generally significantly cheaper than purchasing directly from the airline (or else it wouldn't make sense to that there would be so many).  Therefore, if the valuation of your points doesn't take into account travel sites, their value would seem to be inflated to some degree.   FWIW, I'm not at the point in my life where I travel a whole lot.  I'm doing research for the future.

    Hello dskp,
    As your in Cartesian display, if you know the abscissa or the ordinate, you could easily found your points using a for loop with your data points indexed in input and a comparison function.
    Please be more specific if you need an example.
    Best regards.

  • Discoverer Bar Chart Data Points

    Hi everyone,
    I am creating a Bar Chart in Discoverer with the data points to be displayed at the top. Does anyone know how to make the datapoints not display decimal places. I've tried to change the number format in the table and through administrator as well. The table does not display decimal places but the Bar Chart Data Points continue to do so. Any suggestions or thoughts to try would be welcomed. Thanks!

    If you edit the chart and choose X-Axis Scale I believe you can set the number of decimal place there. Should be able to set it to 0.

  • Xcelsius Dashboard: Right click on chart data point

    Hello friends.
    I am working on Xcelsius dashboard development and I have question regarding drill down or connectivity from particular point from a chart.
    I have a line chart with different data points and now i want to show some details for a particular point on chart. What are different approaches to connect it to system and show details. I heard we can right click at some data point and then connect to BW system through Webi and show details.
    Can anyone let me know about this? Any pointers will be surely appreciated,
    Thanks,
    Agasti.

    Hi Agasti,
    you can configure the dril down properties of your chart so that the selected value is written in a cell. Add then a URL button (Web Connectivity), assign an openDocument URL to it and set under the Behaviour tab the drill-down cell (ie. the cell where the drill down value is written to) to be the trigger.
    Regards,
    Stratos

Maybe you are looking for

  • System restore on DV6 not working after new hard drive installed (Vista 32-bit)

    Hi there, I have a HP Pavilion Entertainment laptop (DV6 1210sa) and recently on start up I have been receiving a message saying that the hard drive is at imminent risk of failure. I therefore burned the restore CDs and bought a new hard drive: (A To

  • Slow-Moving Item Report

    The issue I have has been addressed in oss note(541559) but I am unable to get the solution outlined to work. The situation is I would like to show all characteristic values for 0material__PNL that we have a history of transactional data, even if the

  • How to check the number of rows in a table with input data?`

    Dear all, I am having a table ( with declaration of 5 rows during the init ) there's a next button which will add another 5 rows by pressing. Let say the user ony key in 7 rows of data.. how should i track it? coz these data act as input to my bapi f

  • I cannot view videos in full screen using Flash Player

    I currently have Windows 8. I was pulling up some videos to get ready to watch some football games through a website. The video plays just fine until I tried to make it full screen. Then the screen is black but the audio continues just fine.  I've tr

  • Invoice posting allowed despite GR reversal

    Hi Guys, I have created a PO with GR based IV indicator checked.Then GR is done and after that GR is reversed.Now when I tried to post the invoice against the po it is allowing to post the invoice.Only thing is that you have to enter the price in the